2012-12-01 8 views
8

私はUnix上にテキストファイルfile1.txtを持っています。 file2.txtという別のファイルを作成したいと思います。このファイルでは、apple-pieのすべてをapple_pieに置き換えています。どのようなコマンドを使用できますか?ファイル内の文字列を置換するUnix

答えて

17

使用sedfile1.txt上のグローバル置換を行うと、file2.txtに出力をリダイレクトします

sed 's/apple-pie/apple_pie/g' file1.txt > file2.txt 
1

sedawkよりも優れた性能を持っていますが、両方は、この検索のために働くと置き換えられます。 Reference

あなたがここにスクリプト(例えば、kshの、SH)でコマンドを入れた場合の構文です:

awk '{gsub(/apple-pie/,"apple_pie");print}' "file1.txt" > "file2.txt" 
sed -e 's/apple-pie/apple_pie/g' "file1.txt" > "file2.txt"