タールボールをインポートして解凍し、解凍してから内容を一般的に処理できるように、最大80文字の幅の行で構成される連続ファイルに変換するコマンドラインツールを探しています。テキストは損傷なしにメールで送信されます。 。
そのようなツールを教えてくれてありがとう。
ありがとうございます。
ベストアンサー1
答えは次のとおりです。必要に応じて実行できます。
tar xf tarball-test.tar.gz --to-stdout | fold -w 80 -s > output.txt
# alternative:
tar zxOf tarball-test.tar.gz | fold -w 80 -s > output.txt
この例ではGNUを使用していますが、tar
上記のマントラの1つは他のtar
実装でも機能します。
fold
この-s
オプションは空白(存在する場合)で中断されます。このQ&Aを見る代替とオプションfold
。
いくつかのファイルを生成し、タールボールを作成してそれをテストできます。
$ for i in {1..25}; do printf 'file1' >> file1.txt; done
$ for i in {1..30}; do printf 'xxfile2' >> file2.txt; done
$ for i in {1..20}; do printf 'file3 ' >> file3.txt; done
$ tar -czf tarball-test.tar.gz file1.txt file2.txt file3.txt
上記で生成されたファイルには改行文字は含まれていません。これはまれですが、OP文書について想定したくありません。ただし、これらの(区切られていない)ファイルを使用すると、未定義fold
の動作が発生します。それ以外の場合は、これらのリスクを回避するために、以下のように改行を含むファイルを作成してください。
$ for i in {1..25}; do printf 'file1' >> file1.txt; done; printf '\n' >> file1.txt
$ for i in {1..30}; do printf 'xxfile2' >> file2.txt; done; printf '\n' >> file2.txt
$ for i in {1..20}; do printf 'file3 ' >> file3.txt; done; printf '\n' >> file3.txt
$ tar -czf tarball-test.tar.gz file1.txt file2.txt file3.txt