Apakah mungkin melakukannya dalam satu liner?
Saya memiliki output seperti ini:
"First line" - Description
" Second line" - Description
"Third line" - Description
" Fourth line" - Description
Input ini dihasilkan secara otomatis.
Saya ingin mengganti kemunculan pertama "(tanda kutip + spasi) dengan "(tanda kutip) untuk setiap baris. Jika saya menerapkan substitusi secara global, itu juga akan mengubah setiap kejadian line" -menjadi line"-, jadi saya bertanya-tanya apakah mungkin menggunakan sed one liner untuk melakukannya.
Saya sudah mencoba menggunakan ^seperti ini
sed -r ':a;N;$!ba;s/(\^\" )/\"/g'
Tapi itu tidak berfungsi, itu tidak menggantikan apa pun. Saya mencoba
sed -r ':a;N;$!ba;s/(^|\" )/\"/g'
dan itu menggantikan semua kejadian. Saya baru saja mulai menggunakan sed, jadi saya tidak benar-benar tahu jika saya melakukan sesuatu yang salah.
Apa yang kulewatkan di sini?
sed, tetapi untuk portabilitas dan untuk menghindari kesalahan yang sangat aneh, Anda harus mengakhiri argumen perintah yang diberikan setelah label (jika Anda memerlukannya sama sekali). Misalnya,sed -e ':a' -e 'N;$!ba' -e 'whatever'