最後の改行を除くすべての改行をスペースに置き換えるにはどうすればよいですか。を使用してすべての改行をスペースに置き換えるtr
ことができますが、いくつかの例外を除いてどのように行うことができますか?
最後の改行を除くすべての改行をスペースに置き換えるにはどうすればよいですか。を使用してすべての改行をスペースに置き換えるtr
ことができますが、いくつかの例外を除いてどのように行うことができますか?
回答:
ファイルが十分に小さい場合、vonbrandのアイデアをPerlで再実装します。
perl -p00e 's/\n(?!\Z)/ /g' your_file
これは私のために働いた。
tr '\n' ' ' < file_with_new_line | sed 's/\ $//g' > file_with_space
tr
コマンドは置き換えられ、すべてのスペースと改行をし、あなたのsed
コマンドは、最後のスペースを削除します。これにより、最終改行のないファイルが作成されるため、質問の対象とはなりません。ちなみに、コマンドで使用g
するポイントintはありませんsed
。を使用しているので$
、最後でのみ一致することができ、これg
は無意味です。また、スペースをエスケープする必要はありません。「」でも違いはありません。
-s
および-d
オプションは、このような場合のために作られたように見えます。