このpaste
コマンドは複数行を1つにマージできます。たとえば、次のtest.txt
ファイルを含む場合:
オリジナル
a
aa
aaa
b
bb
bbb
c
cc
ccc
paste -s -d '\t\t\n' test.txt
次のコマンドを使用して取得できます。
処理結果
a aa aaa
b bb bbb
c cc ccc
貼り付け操作と反対の逆方向コマンドがあるかどうか疑問に思います。たとえば、「処理された結果」がある場合は、「元のテキスト」をどのように取得できますか?
答え1
標準コマンドはありません。
自分で行う必要があり、入力によって異なります。
この場合:
tr '\t' '\n' <pasted_file.txt
オリジナルを差し上げます。
\t
元のファイルにはないと想定されます。
答え2
処理結果に対してこのsedコマンドを使用できます。
sed -e 'y/\t/\n/' processedresult.txt
答え3
文字を sed に変更するか、文字を tr に置き換えることができます。
sed -e 's/< old string >/< new string >/g' input-file > output-file
sは置換を意味し、gは1行で<old string>が現れるすべての項目を置き換えることを意味します。 gがない場合は、1行に1回だけ置き換えられます。
tr '< old char >' '< new char >' < input-file > output-file
答え4
awkバージョン:
awk -v OFS='\n' '{$1=$1; print}' input-file > output-file