ファイルを出力し、ファイルの暗黙的な改行($)をリテラル(\ n)に変更する簡単な方法

ファイルを出力し、ファイルの暗黙的な改行($)をリテラル(\ n)に変更する簡単な方法

目に見えない改行文字の多いファイルがあります。 Vimでは$(で見ることができます)として表示されます:set list\ninvincibleの代わりにリテラル文字列を含む文字列行で表される出力に変換するのに問題があります$

例:

# cat file.txt 
test
file
with
newlines

vimで改行を表示するには、「set list」と入力します。

このコマンドを使用すると、必要に応じて出力形式を指定できます。

# awk '{printf "%s\\n", $0}' file.txt 
test\nfile\nwith\nnewlines\n

しかし、もっと簡単な方法があるべきだと思いますsedechoprintf

ベストアンサー1

sed答えのGNUバージョンを使用してください。

sed -z 's/\n/\\n/g' file.txt

ファイルの内容が改行に分割されないようにするには、zこのオプションを使用します。sed

次のように答えてくださいecho

xargs -I {} echo -n '{}\n' < file.txt

によってxargs各ファイルラインの出力が追加されますecho\n

おすすめ記事