textutils
毎度お馴染みになってきた。浅広のコーナー。textutilsを色々試そう。
自分が使ったことのあるコマンドは省略。
横幅80文字に揃える。fold
$ ps ax | fold
僕の想像したfoldを遥かに下回った。残念!
fmtも同じような感じだけど、メール用ヘッダ処理が出来る。prは印刷用。
ファイルの先頭を表示する。head
$ head -n 1 public_html/cgi-bin/ruby.cgi #!/usr/bin/ruby
初期値は10行。-nで行数指定。tailも同じなので、略。使い分けよう。
cut,paste,join
凄い。横のフィールドを結合したり、分割したり。エクセル風。joinはかなり使えそう。長いのでリンク先を参照せよ。
IBM Linux テキスト・ユーティリティーでデータ抽出を簡易化する - Japan
要ブクマ。
catの逆tac
$ tac public_html/cgi-bin/ruby.cgi print "Hello, Ruby+CGI world!!" print "Content-type:text/html\n\n" #!/usr/bin/ruby
ビビッタ。ファイルを逆順に表示。使えるのか。使えないのか・・・。
行番号を表示nl
$ nl public_html/cgi-bin/ruby.cgi 1 #!/usr/bin/ruby 2 print "Content-type:text/html\n\n" 3 print "Hello, Ruby+CGI world!!"
まぁまぁ。空行は数えてないらしい。
ファイルの分割split
$ cp public_html/cgi-bin/ruby.cgi tmp/ $ cd tmp/ $ ls ruby.cgi $ split -1 ruby.cgi $ ls ruby.cgi xaa xab xac xad $ rm ruby.cgi x*
デフォルトは1000行。ログファイルの分割に使うらしい。
チェックサム3種
$ sum ruby.cgi 55376 1 $ cksum ruby.cgi 4083079102 85 ruby.cgi $ md5sum ruby.cgi # おまけ 5d21678a677edd366e8f5277a1c455c8 ruby.cgi
タブをスペースに変換expand,逆はunexpand
$ expand public_html/cgi-bin/c_cgi.c | vim - $ expand public_html/cgi-bin/c_cgi.c | unexpand | vim -
シェル上で確認出来なかったので、vimに渡して確認。
感想
多いのでがが〜っと体験しました〜。感動したのは,cut,paste,join。あと、tac。テキスト文化で育ってきただけあって、テキスト処理のLinuxコマンドは強力です。
やはり、体験すると違いますねぇ。どんどん活用したくなります。