2017-04-04 4 views
1

-iオプションを使用して(インプレースを置き換える)sedコマンドを使用する場合、ターミナルで何が変更されているのかを確認したいと思います。たとえばtest.txtファイルの場合「sed」コマンドを-i(in-palceオプション)と組み合わせて使用​​すると、端末上で何が変更されているのか、変更されたのかをどのように確認できますか?

abc 
def 

私は

$ sed -i 's/abc/ABC/g' test.txt 

何も印刷されない、以下試してみました。

sedは何を見ているのですか?

+0

sed' 'には' verbose'モードはありません。あなたが持っているオプションは、端末に表示される置換( '-iなし)を検証するかどうかです。それ以外の場合は '-i .bak'を使用して元のファイルを' .bak'拡張子でバックアップします。 – sat

+0

bash: 'diff <( Cyrus

+1

'sed'は、それが置き換えられているものを見るのを助けることができます。あなたは '-i'を渡すことによってそれをしないように指示しています。 '-i'の使用をやめてください! –

答えて

1

は、両方のファイルにdiffプログラムを実行して、元のバックアップを作成するために-iスイッチと接尾辞を使用します。

sed -i.bak 's/abc/ABC/g' test.txt 
diff test.txt.bak test.txt 
関連する問題