web-dev-qa-db-ja.com

最後を除くすべての改行をスペースに置き換えます

最後の改行を除くすべての改行をスペースで置き換えるにはどうすればよいですか。 trを使用してすべての改行をスペースに置き換えることができますが、いくつかの例外を除いてどのようにそれを行うことができますか?

41
user59930

paste -s -d ' ' file.txtを使用できます。

$ cat file.txt
one line
another line
third line
fourth line

$ paste -s -d ' ' file.txt 
one line another line third line fourth line
46
grebneke

trを使用してすべての改行をスペースに置き換え、出力をsedに渡し、最後のスペースを改行に戻すことができます。

tr '\n' ' ' < afile.txt | sed '$s/ $/\n/'
10
mkc

ファイルが十分に小さい場合、Perlで vonbrandのアイデア を再実装します。

Perl -p00e 's/\n(?!\Z)/ /g' your_file
5
Joseph R.