今日は思いっきり仕事モードです。
Unixユーザーじゃない人にはつまんない内容です。
ごめんなさい。

"awk"

ファイル編集のための最終兵器って感じですかねー。
今までも監視スクリプトとかで使ってたんだけど、本日はawkをかなりぶん回してました。
(けっこう重いから、リソースがタイトなサーバでぶん回すのは厳禁です。)

っで、こんな感じで書くとスペース区切りでファイルの中の文字列をマトリクスとして読みこんで、必要な情報を一行で書き出してくれます。

awk ’/検索キー/{ 変数1=$1; 変数2=$4; print 変数2,変数1; }’ 読み込みファイル

上記のコマンドの実行時のプロセスは

1."読み込みファイル"の中から一行読み込む
2.読み込んだ行の中に抽出条件"検索キー"があったらスペースをセパレータとしてマトリクスとして認識する
3.マトリクスは$1、$2、$3、$4…、っと指定でき、変数"変数1"に$1の内容を渡し、変数"変数2"に$4の内容を渡す。
4.print命令により、”$4 $1”というフォーマットでそれぞれの内容が標準出力される。
5.次の行を読み込む
               以下、EOFまで繰り返し。

もちろん、print命令ではなく、printf命令にてフォーマットを指定しての出力も可能である。
ファイルを作成したい場合には、リダイレクトしてしまえばOK。

(注 上記はHP-UX11i上で行った場合。OSにより多少仕様が異なりSolarisではawkだけではなく、nawkコマンドを使い分ける必要がある。Linuxでも同様。)

明日もぶん回します。
どーせテスト系なんてだれも使ってないからね。(笑

コメント

BOB

お気に入り日記の更新

最新のコメント

この日記について

日記内を検索