幅5,200バイトの一部のファイルを見る必要があります。ファイルを変更せずにこれを達成できるツールはありますか?理想的には私が見ている列を指定したいと思います。
答え1
特定の列(例:1、5、12列)のみを表示するには、次を使用しますawk
。
awk '{print $1,$5,$12}' wide_file.txt | less
awk
自動的に行をフィールドに分割し、変数に割り当てます。最初のフィールドはで$1
、2番目のフィールドは$2
このようになります。デフォルトではスペースで区切ります。他の区切り記号(タブなど)がある場合は、次のように指定します-F
。
awk -F'\t' '{print $1,$5,$12}' wide_file.txt | less
ソラリスを使ったことがないけど、このページ、デフォルトはawk
このオプションをサポートしていない可能性があります。この場合、またはを-F
使用する必要があります。/usr/bin/nawk
/usr/xpg4/bin/awk
答え2
以下は、大容量ファイルに適した2つの提案です。 (行サイズと行数は大きいことは重要ではありません。)
提案1:
cut
とを組み合わせて使用できますless
。
を使用すると、cut
バイト位置と論理位置で「列」を指定できます。実際にキャラクターの位置を使用することもできます。 (バイト位置と文字位置の違いは、ファイルにマルチバイト文字が含まれている場合にのみ関連します。)
1行あたり1200〜1270バイトを表示したいと仮定すると、次のことができます。
cut -c1200-1270 wide_file.txt | less
または、論理列33-37を表示するには、次のようにします。
cut -f33-37 wide_file.txt | less
提案2:
less
一人でも使えます。
less
以下のように -S オプションで呼び出されます。
less -S wide_file.txt
次に、n + 右矢印または n + 左矢印を実行して、ファイルを左右にスクロールできます。ここで、「n」はスクロールする位置の数です。
右に2000の位置をスクロールするとしましょう。次に2000と入力し、右矢印を押します。望むより!