複数のファイルの最後の行から2行目を1つのファイルとして印刷するには? [コピー]

複数のファイルの最後の行から2行目を1つのファイルとして印刷するには? [コピー]

ディレクトリにはさまざまな長さのCSVファイルがたくさんあります。各ファイルの最後の行から2行目をファイルに入れたいです。私は似たようなことを試しtail -2 * | head -1 > file.txtてから、なぜこれがうまくいかないのか気づきました。

私はBusyBox v1.19.4を使用しています。

編集:他の質問と似ていますが、複数のファイルを読むという点で異なります。 Tom Hunterの答えのループforは私が必要だったが、以前は考えなかったことです。

ベストアンサー1

for i in *; do tail -2 "$i" | head -1; done >>file.txt

これはBusyboxと互換性がなければなりませんshが、テストするための非bash ATMはありません。

役に立つコメントに基づいて編集されました。

おすすめ記事