1

特定の文字列とそれに続く2桁を削除するsedコマンドを作成しようとしています。これまでのところ、私は持っています:

sed -e 's/bizzbuzz\([0-9][0-9]\)//' file.txt

しかし、構文を正しく理解できないようです。助言がありますか?

4

3 に答える 3

3
sed -re 's/bizzbuzz[0-9]{2}//' file.txt

sed -re 's/\bbizzbuzz[0-9]{2}\b//' file.txt

検索された文字列に単語境界がある場合

sed -e 's/bizzbuzz[0-9]\{2\}//' file.txt

あなたが持っていない場合GNU sed

于 2012-10-22T22:57:02.930 に答える
1

あなたの現在のアプローチはうまくいくはずです:

$ echo 'FOO bizzbuzz56 BAR' | sed -e 's/bizzbuzz\([0-9][0-9]\)//'
FOO  BAR
于 2012-10-22T22:59:23.237 に答える
0

他の回答で述べたように、構文は問題ないようです(不要な括弧付き)。しかし、各行にあるすべての文字列を置き換えたいと思うかもしれません。その場合、「s」コマンドの最後に「g」を追加する必要があります。

sed -e 's/bizzbuzz\([0-9][0-9]\)//g' file.txt

于 2012-10-23T02:59:21.453 に答える