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
8
A
cevap
17
Kullanım sed
file1.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
sed
awk
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"