行区切りがない大きなファイルを処理しようとしています。grep や sed などの行指向のツールで処理したいと考えています。
パイプラインの先頭に、130 文字ごとに改行を挿入するものを配置したいと思います。入力ファイルの変更には興味がありません。
行のないファイルに130文字ごとに行を追加するための効率的なBASHワンライナーは何ですか?
行区切りがない大きなファイルを処理しようとしています。grep や sed などの行指向のツールで処理したいと考えています。
パイプラインの先頭に、130 文字ごとに改行を挿入するものを配置したいと思います。入力ファイルの変更には興味がありません。
行のないファイルに130文字ごとに行を追加するための効率的なBASHワンライナーは何ですか?
本当に効率的にしたい場合は、これのための特別なコマンド (coreutils の一部) があります。
fold -w130 file | ...
私は質問の中で答えを発見しました。この回答を理解するためにこの質問を別の言い方をすると、次のようになります。一度に 130 文字行のないファイルを読み取るための効率的な BASH ワンライナーは何ですか?
答えは BASH ビルトインread
です。これは、この目的に適した強力なツールです。
cat unlined_data.txt | while read -n130 record ; do echo $record ; done # | rest of pipeline
もっとエレガントな解決策があるかもしれません。