トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

シェルプログラミング のバックアップ差分(No.1)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
*シェルプログラミング [#la473fd9]

シェルで悩んだところのメモ書きです。

***シェルの変数について [#p62c25da]

変数の意味は以下の通り

|変数|意味|
|$$|シェル自身のPID(プロセスID)|
|$!|シェルが最後に実行したバックグラウンドプロセスのPID|
|$?|最後に実行したコマンドの終了コード(戻り値)|
|$-|setコマンドを使って設定したフラグの一覧|
|$*|全引数リスト。"$*"のように「"」で囲んだ場合、"$1 $2 … $n" と全引数を一つにくっついた形で展開される。|
|$@|全引数リスト。"$@"のように「"」で囲んだ場合、"$1" "$2" … "$n" とそれぞれの引数を個別にダブルクォートで囲んで展開される。|
|$#|シェルに与えられた引数の個数|
|$0 |シェル自身のファイル名|
|$1~$n|シェルに与えられた引数の値。$1は第1引数、$2は第2引数…となる。|

***リダイレクトについて [#ld20af95]

標準出力のリダイレクトは以下の通り

 コマンド > aaa.txt

標準出力+エラー出力のリダイレクトは以下の通り

 コマンド >& aaa.txt

へー勉強になった

ちなみに、追記の場合は、「>」→「>>」にすればいいよ

***awk [#y1919cd4]

awkはawkで何ページも書けちゃう内容なんだろうけど、とりあえず今日使ったやつだけ。

こんなテキストファイルがあります。このテキストファイルの名前が「Address.txt」だとします。&br;
まあ、アドレス帳だと思ってください。

 firstName  lastName  address phoneNo
 Shogo      Miyazaki  Tokyo   090-xxxx-yyyy
 Tatsuya    Akasaka   Osaka   080-aaaa-bbbb
 Mayuko     Kobayashi Osaka   080-aaaa-bbbb
 Hana       Takahashi Nagoya  070-cccc-dddd
 Tarou      Omori     Nagoya  070-cccc-dddd
 ・・・・

このアドレスの、苗字だけほしい場合、こんな感じにawkです。

 [root@server tmp]# awk '{print $2}' Address.txt 
 lastName
 Miyazaki
 Akasaka
 Kobayashi
 Takahashi
 Omori

へー2列目だけ取れた。

じゃあ、このアドレス帳のなかで、Address(住所)が「Osaka」の人のlastName(苗字)がほしいとき、こんな感じでawkします。