0

正規表現を sed コマンド内に配置することに少し問題があります。これは私のコードです:

RAW_LIST_B=`echo $RAW_LIST_A | sed s/[0-9a-f]{8} / /g`

そして、私はこのエラーを受け取ります:

sed: -e expression #1, char 13: unterminated `s' command

[0-9a-f]{8}8桁の16進数と末尾のスペースをすべて削除するように引用する方法がわかりませんRAW_LIST_A

ありがとう、

4

2 に答える 2

2

これを行う:

RAW_LIST_B=`echo $RAW_LIST_A | sed 's/[0-9a-f]\{8\} / /g'`

への引数をクォートしなかったため、シェルはそれを とに渡す前にとsedの 3 つの引数に分割しました。s/[0-9a-f]{8}//gsed

また、中かっこをエスケープするためのバックスラッシュにも注意してください。

于 2012-11-09T11:40:24.293 に答える
2

sed experssion を引用符で囲む必要があるため、シェルによって sed に渡される 1 つの文字列パラメーターになります。

RAW_LIST_B=`echo $RAW_LIST_A | sed "s/[0-9a-f]\{8\} //g"`

出力例:

$ echo "hello a5a5a5a6 world" | sed "s/[0-9a-f]\{8\} //g"
hello world
于 2012-11-09T11:40:34.210 に答える