* nixで、行を折り返さずにファイルを表示(cat)するにはどうすればよいですか。長い行は、画面の幅に収まるようにカットする必要があります。
cut
はファイル名を引数として受け入れることに注意してください。
これは私にとってはうまくいくようです:
watch 'bash -c "cut -c -$COLUMNS file"'
テストのために、右マージンを追加しました。
watch 'bash -c "cut -c -$(($COLUMNS-10)) file"'
ターミナルのサイズを変更すると、それに合わせて切り捨てが更新されました。
あなたが探しているかもしれません fmt
:
fmt file
これはかなり積極的にテキストを再フォーマットするので、あなたが望む以上のことをするかもしれません。
または、cut
コマンドでテキストを特定の列幅に切り取り、右マージンを超えてテキストを破棄することもできます。
cat file | cut -c1-80
もう1つの便利なオプションはless -S
コマンド。ファイルを全画面ウィンドウに表示し、長い行を左右にスクロールします。
less -S file
cut
の使用は、タブが単一の文字_\t
_と見なされることを考慮していませんが、8つの空白スペースとして出力されます。したがって、タブのあるファイルは、認識されるさまざまな列で切り取られます。
_less -S
_は、タブが存在する場合でもテキストを最適に切り捨てますが、「切り刻まれた」ファイルを非対話的に印刷するために使用することはできません。
実用的な解決策は、expand
を介してタブをスペースに変換し、次に出力をcut
することです:expand < file | cut -c -$(tput cols)
長い行の折り返しを少なく切り替えます。デフォルトは折り返しです。
- `less file`
- in file type `"-S"` to toggle to truncate on line width
- to toggle back `"-S"` again.