Bagaimana cara "mencari dan mengganti" banyak file?


11

Saya menggunakan grepperintah untuk mencari string di banyak file. Apakah ada yang mirip dengan "cari dan ganti"?

Jawaban:


19

Anda mencari sedperintah. Misalnya, untuk mengganti "dog" dengan "cat" di semua file teks di direktori saat ini:

sed -i 's/dog/cat/' *.txt

1
Sederhana dan menyenangkan.
Luis Alvarado

1

sed datang ke pikiran. Contoh:

sed s/cat/dog/ <input >output

Ini mencari kucing dalam garis dan menempatkan anjing pada tempatnya di input file dan menulis ke file output.



0

Anda dapat menggunakan Vim dalam mode Ex:

for b in *.txt
do
  ex -sc '%s/OLD/NEW/g|x' "$b"
done
  1. % pilih semua baris

  2. s pengganti

  3. g ganti semua instance di setiap baris

  4. x Simpan dan tutup

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.