Bagaimana saya bisa mengganti semua baris baru dengan spasi kecuali baris baru terakhir. Saya bisa mengganti semua baris baru ke ruang angkasa menggunakan tr
tetapi bagaimana saya bisa melakukannya dengan beberapa pengecualian?
bash
shell-script
text-processing
tr
Gilles 'SANGAT berhenti menjadi jahat'
sumber
sumber
-s
dan-d
pilihan tampak seperti dibuat untuk kasus ini.Anda dapat menggunakan
tr
untuk mengganti semua baris baru ke ruang dan meneruskan output kesed
dan mengganti ruang terakhir kembali ke baris baru:sumber
Re-mengimplementasikan ide vonbrand ini di Perl, asalkan file tersebut cukup kecil:
sumber
Sesuatu seperti
sed -e 's;\n\(.\); \1;'
harus dilakukan ...sumber
Ini berhasil untuk saya.
sumber
tr
Perintah Anda menggantikan semua baris baru dengan spasi dansed
perintah Anda menghilangkan spasi terakhir. Ini menghasilkan file tanpa baris terakhir dan karenanya bukan apa yang ditanyakan. Omong-omong, tidak ada int int menggunakang
dalamsed
perintah. Karena Anda menggunakan$
, itu hanya bisa cocok pada akhirnya,g
tidak ada gunanya. Anda juga tidak perlu keluar dari ruang, `` tidak ada bedanya juga.