Pertanyaan ini sudah memiliki jawaban di sini :Karakter apa yang harus saya hindari saat menggunakan sed dalam skrip sh?
(4 jawaban)
Tutup 5 tahun yang lalu.
Linux
(4 jawaban)
Tutup 5 tahun yang lalu.
Saya ingin menggunakan sed
untuk mengubah garis miring menjadi garis miring terbalik dan garis miring, yaitu /
-> /
. Tapi itu tidak berhasil. Ini contoh kecilnya:
#!/bin/bash
TEST=/etc/hallo
echo $TEST
echo $TEST | sed "s/hallo/bello/g"
echo $TEST | sed "s///\//g"
Output dari tiga baris pertama adalah seperti yang diasumsikan. Tapi yang terakhir tidak berhasil. Mengapa? Bagaimana cara mengoreksi bagian terakhir?
Jawaban yang Diterima:
Gunakan tanda kutip tunggal untuk ekspresi yang Anda gunakan:
sed 's///\//g'
Dalam tanda kutip ganda, memiliki arti khusus, jadi Anda harus membuat garis miring terbalik:
sed "s///\\//g"
Tapi lebih bersih untuk mengubah pembatas:
sed 's=/=\/=g'
sed "s=/=\/=g"