したがって、非常に長い行を含む出力があり、80列幅以下の行にフォーマット設定したいのですが、列の制限内にあるため、単語を分割したくありません。
私は試した
sed 's/.\{80\}/&\n/g'
しかし、単語を分割し、一部の行をスペースで始めるという問題があります。
私はVimでそれを何とかして、textwidth
を80に設定し、ファイルの先頭に移動してgqG
を実行してテキストをフォーマットしました。しかし、むしろsed
、awk
、またはスクリプトに含めるのに似た何かでそれを行います。
代わりにfmt
を使用してください:
fmt --width=80 file
man fmt
から:
-w, --width=WIDTH
maximum line width (default of 75 columns)
次のようにfold
を使用します。
fold -s -w80 file
これは空白(-s
)でのみ分割され、80文字の線幅(-w80
)を使用します。したがって、これはfmt
ソリューションとまったく同じですが、-s
オプションを省略したときにany文字でブレークすることもできます。
以下の解決策が役立つかもしれません:
猫ファイル名.txt | fmt -w 80> reduce_file_name.txt
fmt-シンプルで最適なテキストフォーマッタ。