【正規表現】sedで置換コマンドを書いてください。変数$DIRが、DIR="/usr/local/bin /usr/bin ./data /bin"のように、半角スペース区切りで1つまたは複数のディレクトリが書かれているとき、それぞれのディレクトリの先頭に/がある場合は消去し、置換後"usr/local/bin usr/bin ./data bin"のように置換したいです。シェルスクリプトで使う予定です。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/03/23 01:30:30
  • 終了:2010/03/23 02:27:08

回答(2件)

id:p332 No.1

p332回答回数36ベストアンサー獲得回数32010/03/23 01:56:54

ポイント50pt

下記コマンドで良いと思います。

echo $dir | sed -e "s/\(^\| \)\//\1/g"

id:easygoings

早かったです。ありがとうございました。

2010/03/23 02:24:24
id:mjy No.2

mjy回答回数67ベストアンサー獲得回数202010/03/23 02:04:03

ポイント50pt
#! /bin/sh
DIR="/usr/local/bin /usr/bin ./data /bin"

DIR_NEW=$(echo $DIR |sed 's# /# #g; s#^/##')
id:easygoings

ご丁寧にコピペするだけにしていたいて、ありがとうございます。

こちらのほうが、私には直感的に何をやっているかすぐ分ってよさそうです。

2010/03/23 02:26:13

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません