2016-09-16 6 views
0

私はbase_foo.txtというファイルを持っていて、base_fileのテキストを置き換えて、ベースファイルを変更せずに別のファイルに保存します。ありがとう!以下のような'sed'を使ってテキストを見つけて置き換えて別のファイルに保存する

何か:

sed -i -e 'r/foo/bar/' base_foo.txt ??? 
+0

を維持するのorignalの変化が '-i'を使用しないようにするには

sed -e 's/foo/bar/g' file > new.file # changes would be only in new.file 

をオプションを使用し、リダイレクション演算子を使用して他のファイルに送信します。 –

答えて

0

あなたがonriginalファイルを変更したくない場合は、あなたが-iフラグを削除する必要があります。 -isedを指定しないと出力はstdoutに送信されるので、ファイルにリダイレクトします。ちょうどそのようなことをしてください:

sed -e 'r/foo/bar/' base_foo.txt > new_file.txt 
0

-iはsedで置き換えられます。したがって、使用された元のファイルは変更されます。変更内容を表示するには

は使用:

新しいファイルへの変更をリダイレクト
sed -e 's/foo/bar/g' file #Only to stdout 

:バックアップ

sed -i.bak -e 's/foo/bar/g' file #Changes in file ,no change in file.bak 
関連する問題