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'