非常に広いファイルを見る

非常に広いファイルを見る

幅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と入力し、右矢印を押します。望むより!

関連情報