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

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2010/03/23 02:27:08
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:p332 No.1

回答回数36ベストアンサー獲得回数3

ポイント50pt

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

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

id:easygoings

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

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

回答回数70ベストアンサー獲得回数22

ポイント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

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

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

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

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

回答リクエストを送信したユーザーはいません