私はUnix上にテキストファイルfile1.txt
を持っています。 file2.txt
という別のファイルを作成したいと思います。このファイルでは、apple-pie
のすべてをapple_pie
に置き換えています。どのようなコマンドを使用できますか?ファイル内の文字列を置換するUnix
8
A
答えて
17
使用sed
はfile1.txt
上のグローバル置換を行うと、file2.txt
に出力をリダイレクトします
sed 's/apple-pie/apple_pie/g' file1.txt > file2.txt
1
sed
はawk
よりも優れた性能を持っていますが、両方は、この検索のために働くと置き換えられます。 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"