2012-12-01 17 views
8

Unix'te bir metin dosyası file1.txt var. file2.txt başka bir dosya üretmek istiyorum, ben apple-pie tüm oluşumları apple_pie ile değiştirin. Hangi komutu kullanabilirim?Dize dosyada değiştirilmesi Unix

cevap

17

Kullanım sedfile1.txt üzerinde küresel bir ikame yapmak ve file2.txt çıktı yönlendirmek için:

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

sedawk daha iyi performansa sahiptir ama hem bu arama için çalışmak ve yerini alacak. Reference

sonra burada sözdizimi bir komut dosyası (örneğin ksh, sh) komutları koyarsanız:

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