複数行の流れを1行に縮小

複数行の流れを1行に縮小

行数が多いファイルがあり、各行にはスペースで区切られた複数の数字が含まれています。どういうわけか、パイプラインはこのデータを処理しており、複数の行をスペースで区切られたすべての数字で構成される1つの行に縮小したいと思います。

これを行うために使用できる標準のコマンドラインユーティリティはありますか?ほとんどの行固有のユーティリティは改行文字を混同しないようです。

答え1

これがまさにそのために1行ずつユーティリティを使用しない理由です。

$ tr '\n' ' ' < input.txt > output.txt

答え2

1行ずつユーティリティを使用しても、すべての改行を削除できます。

sed:

sed ':a;N;$!ba;s/\n/ /g' file

奇妙な:

awk '{printf $0" "}' file

trしかし、@Ignacio Vazquez-Abramsが書いたようにを使用する方が良いです。

答え3

出力をパイプで接続xargs

#!/bin/sh -x
while
do
date > temp
ping cp1za >> temp
cat temp | xargs echo
done
Tue Dec 17 18:23:31 UTC 2013 CS V1R12: Pinging host CP1ZA.TMMNA.TMM.TOYOTA.C (150.45.12.22) Ping #1 response took 0.001 seconds.

関連情報