GNU/Linux >> Belajar Linux >  >> Linux

Ganti kata dengan yang lain di bash

Anda dapat menggunakan sed untuk itu:

$ sed s/sara/mary/g <<< 'hello sara , my name is sara too .'
hello mary , my name is mary too .

Atau jika Anda ingin mengubah file di tempat:

$ cat FILE
hello sara , my name is sara too .
$ sed -i s/sara/mary/g FILE
$ cat FILE
hello mary , my name is mary too .

Anda dapat menggunakan sed:

# sed 's/sara/mary/g' FILENAME

akan mengeluarkan hasilnya. Konstruk s/// berarti mencari dan mengganti menggunakan ekspresi reguler. Huruf 'g' di bagian akhir berarti "setiap contoh" (bukan hanya yang pertama).

Anda juga dapat menggunakan perl dan mengedit file di tempat:

# perl -p -i -e 's/sara/mary/g;' FILENAME

Atau awk

awk '{gsub("sara","mary")}1' <<< "hello sara, my name is sara too."

Cara bash murni:

before='hello sara , my name is sara too .'
after="${before//sara/mary}"
echo "$after"

ATAU menggunakan sed:

after=$(sed 's/sara/mary/g' <<< "$before")
echo "$after"

KELUARAN:

hello mary , my name is mary too .

Linux
  1. Menggunakan pengubah kata dengan riwayat Bash di Linux

  2. Tambahan Dengan 'sed'?

  3. Bash -c Dengan Parameter Posisi?

  1. Ganti Baris Dengan Konten Lain Menggunakan Sed Dan Paralel Untuk File Besar?

  2. Ganti Rentang Garis Dengan Rentang Garis (sed Atau Lainnya)?

  3. Alias ​​​​dengan variabel di bash

  1. Bagaimana melakukan sed like text ganti dengan python?

  2. Bagaimana cara mengganti karakter dengan sed secara rekursif?

  3. sed ganti semua tab dan spasi dengan satu spasi