空白で区切られた複数行(空行)をマージする方法は? [閉鎖]

空白で区切られた複数行(空行)をマージする方法は? [閉鎖]

次の複数行の出力をマージして単一行を形成したいと思います。

ライン1:

,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,42,1,121,1,17,10,21,1,,アイユ,8,0,,0,,0,0,0,,,, ,,,,,,,,,,,,,,,,,,,,1227,,,11,,0,,,,1,01,,,1,12769,,7707,0,,,, 12769,,,12769,6,0,,,,10,,,1, 901,10800,14/04/13,,,4,,,2,,,,,,,,,,,, ,,,,,,,,,,,,,,,, A,,,,1001,,,,,,,,,,,01,,12769,0,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,14/04/13,10800,,,,,,,,,,,,,,,,,,,,, 1,, ,, ,,,,,,964750001210,,1001,,1,,0,,,,,,,,,,17,,,,,,,,,,,31685125704,,,,1 ,,1,0 , ,,,,,,,,,,,,,,,,,19,0,.901,19,0,.901,,,901,1,,,8767318,13790084045, 1, 1304150024556817,,,, 33399399,,,,,,,,,,,,901,1,,,,,,,0,,0,,,,,GSMT11B**S,,,4,,,,,,10800,14/04/1 3,10800,14/04/13,443867992,,,,,,,,1,0,,0,,,,,,,61409, 51,,9647507763683,,1001,1,0,,60,0,5,,N,,0,1,I, 1,,,,,,47,,,,,,,54,1,4, 19 ,,29,1,1,1,3,1112,2,,使用法,使用法,USG,,N,N,0,,1,,TRNT01I,90,,0GRI3,90,,,,,0 , 1 , 1,1,1,1,34111,437956,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,19,,,,,,,,,,,,,,,,H,,1,0,1,0

...空白行...

2号線:

,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,42,1,121,1,17,10,21,1,,アイユ,8,0,,0,,0,0,0,,,, ,,,,,,,,,,,,,,,,,,,,399,,,11,,0,,,,1,01,,,1,61,,67,0,,,, 61,,,61,6,0,,,,10,,1,74,10800,14/04/13,,,4,,,,2,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,A,,,,1001,,,,,,,,,,,01,,61,0,,,,,,, ,,, , , ,,,,,,,,,,,,,,,,,,,,14/04/13,10800,,,,,,,,,,,,,,,,,,,,,,, 1,,,,,,,,,,,964750001210,,1001,,1,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 、9647703 026865、、、、、1、、1、0、、、、、、、、、、、、、、、、、、 8820807 13790084046,1, 130415002 4556817,,,,33399399*S,,,4,,,,,,10800,14/04/13,10800,14/04/13,443867993,,,,,,,,1,0,,0,,,,,61409,51,, ,9647503228592,,1001,1,0,,60,0,5,,N,,0,1,I,1,,,,,,20, ,,,,25,1,4,19, ,19 ,1,1,1,3,980,2,,用途,用途,USG,,N,N,0,,1,,ASIA03I,90,,0GRI3,90,,,,,0,1, 1, 1, 1,1,341 12,437956,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,19,, ,,,,,,,,,,,,,,,,H,,1,0,1,0

...空白行...

行3:

,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,42,1,121,1,17,10,21,1,,アイユ,8,0,,0,,0,0,0,,,, ,,,,,,,,,,,,,,,,,,,,327,,,11,,0,,,,1,01,,,1,12769,,7707,0,,,, 12769,,,12769,6,0,,,,10,,,1,2,10800,14/04/13,,,4,,,2,,,,,,,,,,,, ,,,,,,,,,,,,,,,, A,,,,1001,,,,,,,,,,,01,,12769,0,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,14/04/13,10800,,,,,,,,,,,,,,,,,,,,, 1,, ,, ,,,,,,964750001210,,1001,,1,,0,,,,,,,,,,17,,,,,,,,,96171254836,,,,1, ,1,0 ,,, ,,,,,,,,,,,,,,,,19,0,.002,19,0,.002,,,2,1,,,,8825322,13790084047,1 ,13041 50024556817,, ,,33399399 ,,,,,,,,,,,,,2,1,,,,,,0,,0,,,,,GSMT11B**S,,,4,,,,,,10800,14/04/13,10800 ,14/04/13,443867994,,,,,,,,1,0,,0,,,,,,61409, 51 ,,,9647501378572,,1001,1,0,,60,0,5,,N,,0,1,I,1,,,,,,47,,,,,,54,1,4,19, ,29,1,1,1,3,1112,2,,使用法,使用法,USG,,N,N,0,,1,,TRNT01I,90,,0GRI3,90,,,,,,0,1 , 1,1,1,1 ,34113,437956,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,19,,,,,,,,,,,,,,,,,H,,1,0,1,0

...空白行...

答え1

あなたの質問を正しく理解したら、次の内容があります。

$ echo -e "line1\nline2\nline3\n"
line1
line2
line3

$

あなたはこれが欲しい:

line1line2line3

したがって、空行を削除するだけです。次のコマンドでトリックを実行する必要があります。

$ echo -e "line1\nline2\nline3\n" | paste -s -d ''
line1line2line3

出力がどこに保存されているのかわかりませんが、ファイルにある場合は、上記の内容を使用して行をマージする必要があります。

$ paste -s -d '' somefile.txt 
line1line2line3

答え2

別の方法は、ファイルから新しい行を削除することです。

echo $(tr -d '\n' < file) > newfile

echo実行したくない場合は、最後の新しい行を挿入しています。

tr -d '\n' < file > newfile

関連情報