入力する:
ID Name NUMBER
1ABC234)234-2345,
2CBF23588900,
3knl334235354,
4gkmnk436563654,
希望の出力:
*ID Name NUMBER ID Name NUMBER ID Name NUMBER*
LINE--1 1ABC234)234-2345,2CBF23588900,3knl334235354,
LINE--2 4gkmn436563654,5JNKN53546536,6jknk5643545645,
LINE--3 7........,8..........,9............,
LINE--4 10.........,11.......,12...........
このコマンドを試しましたが、残念ながらすべてが1行に変わりました。
tr -d '\n'<sample.txt
ただし、上記と同じファイルを生成するには、unixコマンドを使用する必要があります。
答え1
行をマージし、各新しい行には入力ファイルの3行が含まれており、同じヘッダーを保持したいとします。
$ ( head -n 1 file; sed '1d' file | paste -d '\0' - - - ) >newfile
$ cat newfile
ID Name NUMBER
1ABC234)234-2345,2CBF23588900,3knl334235354,
4gkmnk436563654,line5,line6,
line7,line8,line9,
私が使用する入力ファイルは
ID Name NUMBER
1ABC234)234-2345,
2CBF23588900,
3knl334235354,
4gkmnk436563654,
line5,
line6,
line7,
line8,
line9,
このhead
コマンドはファイルのヘッダーのみを出力し、パイプは区切りsed
文字paste
を挿入せずに残りの行を3つのグループに分配します。head
これにより、パイプとパイプの出力が新しいファイルにリダイレクトされます。
上記の特定のヘッダーが必要な場合は、head
コマンド全体をecho 'insert header text here'
。
各行などが必要な場合は、次のようにLINE--1
結果を渡します。paste
awk '{ print "LINE--" NR, $0 }'
$ ( head -n 1 file; sed '1d' file | paste -d '\0' - - - | awk '{ print "LINE--" NR, $0 }') >newfile
$ cat newfile
ID Name NUMBER
LINE--1 1ABC234)234-2345,2CBF23588900,3knl334235354,
LINE--2 4gkmnk436563654,line5,line6,
LINE--3 line7,line8,