したがって、行が80列よりも広くないように書式設定したい非常に長い行を含むいくつかの出力がありますが、単語が列制限内にあるため、単語を分割したくありません。
頑張った
sed 's/.\{80\}/&\n/g'
しかし、単語を分割し、いくつかの行をスペースで始めるのに問題があります。
textwidth
私はVimを使ってこれを80に設定し、ファイルの先頭に移動してリッチテキストを書くことに成功しましたgqG
。ただし、むしろsed
、awk
または同様のものを使用してスクリプトに含めることをお勧めします。
答え1
使用方法fold
:
fold -s -w80 file
-s
これは、80文字()の行幅を使用してスペース()にのみ分割されます-w80
。したがって、ソリューションとまったく同じことを行いますが、割り込みもfmt
許可します。どのオプションが省略された場合の文字です-s
。
答え2
代わりに使用してくださいfmt
:
fmt --width=80 file
からman fmt
:
-w, --width=WIDTH
maximum line width (default of 75 columns)
答え3
以下の解決策が役に立つかもしれません。
猫のファイル名。txt | fmt -w 80 > ファイル名.txt 短縮
fmt - シンプルで最高のテキストフォーマッタ。