特定の行長で出力フォーマットを指定する

特定の行長で出力フォーマットを指定する

したがって、行が80列よりも広くないように書式設定したい非常に長い行を含むいくつかの出力がありますが、単語が列制限内にあるため、単語を分割したくありません。

頑張った

sed 's/.\{80\}/&\n/g' 

しかし、単語を分割し、いくつかの行をスペースで始めるのに問題があります。

textwidth私はVimを使ってこれを80に設定し、ファイルの先頭に移動してリッチテキストを書くことに成功しましたgqG。ただし、むしろsedawkまたは同様のものを使用してスクリプトに含めることをお勧めします。

答え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 - シンプルで最高のテキストフォーマッタ。

関連情報