.txtファイルがあります
john,
5901,
open
lina,
2401,
open
jody,
5401,
open
各行の最後に新しい行を挿入したいと思います。結果は次のとおりです。
john,5901,open
lina,2401,open
jody,5401,open
私が何をしようとしているのか
cat file.txt | tr -d '\n'
ところで結果はこうだ。
john,5901,openlina,2401,openjody,5401,open
ベストアンサー1
awkを使う短絡モード:
$ awk -vRS= -vOFS= '{$1=$1} 1' file.txt
john,5901,open
lina,2401,open
jody,5401,open
レコード区切り文字が設定されていない場合、RS=
awk は空行の間のすべての内容を単一のレコードとして処理し、空の入力フィールド区切り文字のデフォルトのリストに改行を追加します。入力に他のスペースが含まれていないため、これはブロックの各行がフィールドになることを意味します。次に、フィールド値を自分自身に再割り当てしてレコードを強制的に再評価し、最後にデフォルトの単一の空白の代わりに空の出力フィールド区切り文字を使用してレコードを印刷します$1=$1
。OFS=