Ini seharusnya mudah: Saya ingin menjalankan sed terhadap string literal, bukan file input. Jika Anda bertanya-tanya mengapa, itu untuk, misalnya mengedit nilai yang disimpan dalam variabel, tidak harus data teks.
Ketika saya melakukan:
sed 's/,/','/g' "A,B,C"
dimana A, B, C adalah literal yang ingin saya ubah menjadi A ',' B ',' C
saya mendapat
Can't open A,B,C
Seolah-olah ia menganggap A, B, C adalah sebuah file.
Saya mencoba menyalurkannya ke gema:
echo "A,B,C" | sed 's/,/','/g'
Saya mendapat prompt.
Bagaimana cara yang benar untuk melakukannya?
Bekerja seperti yang Anda inginkan:
sumber
Versi saya menggunakan variabel dalam skrip bash:
Temukan garis miring terbalik dan ganti dengan garis miring ke depan:
sumber