Paste -d または tr を使用して垂直テキストを水平テキストに変換します。

Paste -d または tr を使用して垂直テキストを水平テキストに変換します。

縦型のデータリストがありますが、横型のデータリストが欲しいです。

fl.txt:

data
1
2
3
4
5

希望の出力は次のとおりです。

1 2 3 4 5

私のコード:このコマンドを使用すると、最後の値である5のみが印刷されます。

 paste -s -d "" fl.txt

ベストアンサー1

Windowsテキストデータを含むファイルを使用していることは注釈によって明らかです。次のコマンドを使用してUnixテキストファイルに変換しますdos2unix

dos2unix fl.txt

DataUnixテキストファイルの場合は、sed 1d fl.txtヘッダーを含むファイルの最初の行を使用または削除できますtail -n +2 fl.txt

結果行は、すべての改行文字を空白に置き換えることで、1行から空白で区切られた列に変換できます。

sed 1d fl.txt | tr '\n' ' '

ただし、これにより改行文字で終わらない出力が生成されます。

paste提案したのと同じ方法で使用することもできます。

sed 1d fl.txt | paste -s -d ' ' -

このpasteコマンドは、改行文字で終わる単一行を生成します。

おすすめ記事