UNIX

ブレース展開

ちょっとおもしろい使い方。詳細は引用元へお願いします。 ファイルネームに.bakを追加するときは mv filename{,.bak} bakファイルを戻すのは mv filename{.bak,} ということですな。 http://d.hatena.ne.jp/j0hn/20060310/1141966219 ブレースの展開は他の…

こういうメールアドレスはどうだろう

echo "sugino yasuhiro" | awk '{print $1 $2 "@gmail.com" }'

UNIXという考え方―その設計思想と哲学

「すべてのプログラムをフィルタとして設計する」「沈黙は金」といったUNIXのOS周りから言えることだけでなく、よく言われる格言について解説されていたり、「それってアジャイル?」と言いたくなるような記述も多く書かれていた。それらを少しばかし抜き出…

ftpのprompt

例えば、 にいちいち転送してよいか聞かれるのが面倒な人は, 事前に ftp> prompt off と打っておくとよいでしょう. http://hwb.ecc.u-tokyo.ac.jp/current/4857422FA5CDA5C3A5C8A5EFA1BCA5AFA4CECDF8CDD12FA5D5A5A1A5A4A5EBC5BEC1F72F667470A4CBA4AAA4B1A4…

cutコマンドは出力順を制御できない。

いったいどこで勘違いしたのか、 $ cat testfile 12345 12345 12345 12345 12345 というファイルを $ cut -c5,4,3,2,1 testfile とやったら、オプションで指定した順序で編集されて出力(54321)されると思い込んでいた。正しくはオプションでどう並べて指定し…

コードブロック

for line in `cat list` ;do echo $line done のようなforループの処理でlistファイルをユニークにして出したいと思ったので、以下のように書いた。 for line in `sort -u list` ;do echo $line done そこでふと「forで書けるならwhileでも書けるよね。」と…

変数名の力 http://homepage1.nifty.com/~takaot/prprpr/varname.html システム開発/命名法 http://www.bugbearr.jp/?%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E9%96%8B%E7%99%BA%2F%E5%91%BD%E5%90%8D%E6%B3%95 プログラミングの光景 第2回「コーディングスタ…

Revolution OS [DVD]

簡単に言うと、Linux生みの親のライナス・トーバルズ、FSF創設者のリチャード・ストールマン、『伽藍とバザール』のエリック・レイモンド、「オープンソースの定義」の起草者ブルース・ペレンズ、Apache発起人の一人ブライアン・ベーレンドルフ、VA Linux Sy…

viでWindowsの改行コードをUNIXの改行コードに置換

@IT > Linux Square > Linux Tips Index > テキストファイルの行末に^Mが表示される http://www.atmarkit.co.jp/flinux/rensai/linuxtips/164linendm.htmltrコマンドでやるにはこちら。多分こっち派が多いと思う。 @IT > Linux Square > Linux Tips Index …

Ubuntu 徹底入門 The Official Ubuntu Book 日本語版

新人教育用にLinuxを使いたくて、というより自宅でLinuxをインストールするような新人に育ってほしくて、一番使いやすそうなLinuxを選んでみた。 Googleが使用している 米国DELLがプリインストールPCを販売開始 といったあたりに興味を持ってもらえるかなと…

ヌル文字とheadコマンド

headコマンドとtailコマンドで表示の異なるファイルがあった。1行が575バイトのはずなのだが、1行の文字数を数えてみると、tailコマンドでは正しい結果が得られるのに、headコマンドだと正しくない。不規則に改行が入っているようだ。 $ head -1 ${FILE} |…

chownコマンドとchgrpコマンド

ファイルの所有者を変更するのに chgrp user file # まずはグループを変更して chown user file # その後でユーザを変更する と今までやっていたが、 chown user:group file # ユーザとグループを一度に変更する だけでできた。参考: http://www.linux.or.j…

gzipの-vオプション

圧縮されたパーセンテージが表示されるので、圧縮されるまでのしばしの待ち時間が少し楽しくなる。『Fedora Core 5 ビギナーズバイブル (MYCOM UNIX Books)』に載ってた。

cutコマンドのbオプション

今日cutコマンドでレコードを分割してたところ、どうも位置がでたらめになっている。固定長レコードのファイルなのに、 head -1 ${FILE} |wc -c で数えるとレコード長(改行除く)が全然違ってる。よくよく考えてみると、そのファイルは文字コードをEBCDECか…

tailコマンド

headは複数のファイルを引数にとれるが、tailも同じだろうと思って、 tail *hoge* # ファイル名にhogeを含むファイルが複数ある とやったら、うちのHP-UXは1ファイル分しか標準出力してくれない。2番目以降の引数は無視されてるっぽくて、 for FILE in `ls…

bannerコマンド

日本語が使えないけど。文字がおっきく表示されて楽しい。 TDDのレッドっぽく使えるかも。

awkのOFSが無効なときの対処

カンマ区切りのファイルのある項目(例えば3番目)をリテラル(例えば"aaaaa")で書き換えるのにawkを使って次のようにした。 awk -F"," '{print $1,$2,"aaaaa",$4}' inputfile とやってみたところ、項目の間に空白が入ってしまうので、 awk 'BEGIN{FS=",";…

sortコマンドの-uオプション

uniqコマンドは、あらかじめソートされていないといけないので、今までは sort $file | uniq とやっていたけど、 sort -u $file だけでよかった。

FTPツールのASCII/Binary設定を教えるには

『 Vusual Basic .Net インターネットアプリケーションプログラミング技法』の説明を読んでもらおう。

0バイトファイルを作る

テストコードをkshで書くのに0バイトファイルを作ろうと echo '' > ${FILE} ってうっかりやったら1バイトファイルだった(笑。結局、 rm ${FILE} 2>/dev/null touch ${FILE} ってやったけど、これってしょぼいの?

rmコマンド、その前に

shellでrmを使う時はもちろんすべてのrmを一旦コメント化して 僕は確か、『仕事で使えるLinuxシェルスクリプト』という本を見てから、コメントアウトせずに echo rm ${HOGE_FILE} echo rmって書いてます。rmの対象が標準出力で確認できてオススメです。思え…

viのコマンド

細かいのも覚えていこう。教材は『UNIX先生』と『Fedora Core 5ビギナーズバイブル』。細かいっていうほどのレベルでもないけど。

clearコマンド

プロンプトが上に行っちゃってあんまりうれしくないコマンドだ。

zcatコマンド

へえ。

setコマンド

ふーん。

実行シェルまでのフルパスがほしいとき

kshでdirname $0使うと.が返ってくる場合があるのでpwdでやればいいのかな。

実習UNIXシェル

2007/01/17読み始め実習UNIXシェル作者: エリークイグリー,Ellie Quigley,荒実出版社/メーカー: ピアソンエデュケーション発売日: 2000/12メディア: 単行本この商品を含むブログ (3件) を見る

awk

『実習UNIXシェル』の6章を全て。誤植が見開き2ページに1つはあった。Amazonのレビューに誤植が多いとあったがここまでとは。

lessでtail -f

http://d.hatena.ne.jp/lurker/20061201/1164975271

SORTKIT

高性能ソート&マージユーティリティ http://www.ace.comp.nec.co.jp/sortkit/ を使っていて、nsortコマンドのレコード再編成オプション-Aで区切り文字(タブorバー)以外を取得していたが、-Aでバイト指定できる項目が64個以内という制限があった。そこでtr…