ターミナルでファイルの中身を素早く確認する方法

勉強会のショートセッションで、OS X のターミナルでファイルをバイナリで開く方法をちらっとお話しました。Illustrator ファイルなどのバージョン確認に便利かも、と思って xxd コマンドを使ってみたのですが、よ〜く考えたらもっと良い方法がありましたよ。エディタで開くよりず〜〜っとラクチンです。

  1. ターミナルを起動して「cat 」の4文字(4文字目は半角スペース)を入力。
  2. そのままターミナルのウインドウにファイルをドラッグ&ドロップ。
  3. [return] キーを押して実行。ウインドウにファイルの中身が表示されていきます。
  4. 数秒後に [command+ピリオド] で中止。
  5. [home] キーで先頭を表示させて上から見ていく

こんな感じでどうでしょう? 「cat」はネコさんじゃないですよ〜。連結(concatenate)の意味で、そもそもは複数ファイルを連結して出力するものです。1ファイルでも出力されるので、中身をちょっと確認するのに便利。エディタだと全部読み込んで表示するので遅くてイライラしますが、cat なら途中で中止できるので素早いです。さらに cat はやっぱりネコさんみたいでカワイイので、すぐに覚えられます(笑

追記
慣れてきたら cat のかわりに「strings 」 でやってみてください。読める文字だけ表示してくれるので、こっちの方が快適です。

6 Comments

MORI Tacsi2010/06/29 02:27

おぉ! そうでしたか。MacのTerminal はドロップでファイル名をshellに渡せるんですね! いままで [Tab]によるファイル名補完を使ってましたが、それより遥かにお手軽ですね。

ところで、head や tail だと表示する行数やバイト数を指定(デフォルトは10行)できますから、cat でのように、“頃合いをみて[command+ピリオド]で中止”する手間がないのでは? どうでしょ?

MORI Tacsi2010/06/29 02:34

これは遼東の豕でしょうけど…
cat、head、tail で何度もファイルの中身を見るときは、clear コマンドで表示バッファを掃除しておくと、[home]キーで先頭に戻るのが楽ですよ。
そして、次のファイルを見るためにコマンドラインへ一気に戻るには[end]キーですよね。

monokano2010/06/29 03:47

> head や tail だと表示する行数やバイト数を指定
cat も指定できるんですけど、この記事は「CUI になじんでいない方向け」ですので、オプション付きにするとそれだけでやってくれなくなるんですね。「cat 」の4文字だけにとどめておくことがきわめて大事です。

> clear コマンドで表示バッファを掃除しておく
エディタで開くのに比べたらかるく100倍は速いですから、そこまでしなくてもいいかな〜

会社で指導する立場にいますので、相手が混乱や拒絶をしないように「便利な方法をあえて一度に全部教えない」のも重要だと考えてます。

MORI Tacsi2010/06/29 04:04

なるほど、教えすぎないのが重要なんですね。
私は一人親方なので、そんな配慮をしたことがなく、勉強になります。

cat ファイル | strings | less
なんてのは、とんでもないことなんですね :-)

申し遅れましたが、Libera Memory をしばらく前までとても便利に使わせていただいてました。その節は、お世話になりました。ありがとうございました。

monokano2010/06/29 04:41

> cat ファイル | strings | less
> なんてのは、とんでもないことなんですね :-)
それが必要になったら、AppleScript の do shell script などで作って「ここにドラッグして」と言った方が説明しなくてすむのでラクチンです。根が面倒くさがりですから〜

> Libera Memory をしばらく前までとても便利に使わせていただいてました
おっ、今は必要なくなったんですね。よかった! おめでとうございます〜〜

MORI tacsi2010/07/24 09:43

stringsはフィルタ専用だと思ってました。はずかしい〜 :-(

Leave a comment

Your comment