2007年7月13日金曜日

シェルコマンド

paste file1 file2
→ file1とfile2を連結して表示。

cut
・cut -f 1,3 -d' ' file1
→file1の半角スペース区切りで1番目と3番目のフィールドを表示
・cat file1 | cut -c48-
→file1の48文字目以降を表示
・cut file1 | cut -c3-5
→file1の3文字目から5文字目までを表示

■シェル内部で実行したコマンドについて
・シェルスクリプトから起動した外部コマンドは、 シェル変数 $! で直前に起動したプロセスIDを取得できる。
例) 
(prstat -t > prstat.log ) &  ←バックグラウンドで実行して
sleep 3 ←3秒間実行
kill $! ←PIDにてkill

prstatのリダイレクト
→prstatでは出力行数が設定できて、リダイレクトを行う場合はデフォルトで15行になっている。
 「-n」オプションいて変更可能。
例)
prstat -n 100,100 1 1 > prstat.log

■perl正規表現
例)
/(?:¥S+¥s+){8,8}([0-9]+)/
→文字の後にスペースが来るパターンを8回マッチした直後の数字を表示。

<パターングループ>
( )     グループ化
(?:...)   パターンの非格納グループ化(グループ化のみで、文字列の格納をしません)
<メタ文字>
¥S     スペース以外の文字
¥s     スペース文字
<量指定子>
?     直前の文字を0又は1回にマッチ
+    直前の文字を1以上にマッチ
{n,m} 直前の文字をn回以上、m回以下にマッチ
<文字クラス>
[ ]    [ ]の中の任意の1文字にマッチ
[0-9]  数字1文字
[^...]  囲まれた文字以外とマッチ

0 件のコメント: