1

行区切りがない大きなファイルを処理しようとしています。grep や sed などの行指向のツールで処理したいと考えています。

パイプラインの先頭に、130 文字ごとに改行を挿入するものを配置したいと思います。入力ファイルの変更には興味がありません。

行のないファイルに130文字ごとに行を追加するための効率的なBASHワンライナーは何ですか?

4

2 に答える 2

4

本当に効率的にしたい場合は、これのための特別なコマンド (coreutils の一部) があります。

fold -w130 file | ...
于 2013-07-21T04:28:20.633 に答える
3

私は質問の中で答えを発見しました。この回答を理解するためにこの質問を別の言い方をすると、次のようになります。一度に 130 文字行のないファイルを読み取るための効率的な BASH ワンライナーは何ですか?

答えは BASH ビルトインreadです。これは、この目的に適した強力なツールです。

cat unlined_data.txt | while read -n130 record ; do echo $record ; done # | rest of pipeline

もっとエレガントな解決策があるかもしれません。

于 2013-07-21T03:38:04.647 に答える