2017-05-04 12 views
0

を除外するが、それはちょうど私はそれがこの検索で​​自分自身を除外したいコードSEDスクリプト - 私は私の問題を説明するだろう自己

test.sh

sed -i '/192.168.1.1/d' * 

を貼り付けることが容易で、どのように私は行くだろうそれについて?

+1

スクリプトを別のディレクトリに置くだけで済みます。 – Barmar

+0

私はADSを使ってcalc.exeの中に隠れている自動化されたプロセスに取り組んでいる可能性があります。私は怠惰なので、同じディレクトリにあるだけです。 – Daniel

+1

'sed -i '/ 192 \ .168 \ .1 \ .1/d '* 'に' 192.168.101.44'とマッチしないようにして、 '192.168.1.13'にマッチしないようにアンカーする方法を見てください。これは、バグを引き起こさないという奇妙な副作用を伴います(ただし、chepnerのソリューションも適用する必要があります)。 –

答えて

4

最も簡単な解決策は、bashの拡張パターン構文を使用することです。

shopt -s extglob 
sed -i '/192.168.1.1/d' !(test.sh) 

test.sh以外のすべてと一致する!(test.sh)パターン。

+0

'shopt -s extglob'でそれを有効にする必要がありますか? –

+2

はい。そうしないと、予期せぬ '('! 'の後ろに文句を言う構文エラーが出ます。 – chepner

関連する問題