skillup

技術ブログ

プログラミング全般

シェルスクリプト ファイル読み込み・switchなど

投稿日:

以前のエントリーに引き続き、シェルスクリプトでログを解析する処理があってそこで覚えたことなどをまとめておきます。

ファイル読み込み

ファイルの内容を一気に読み込むならいろいろなコマンドがありますが一行ずつ読み込んでその内容判断していく・・みたいな処理が以外に探すのが時間がかかりました。

下記のコマンドで一行ずつ読み込みます。

 

リンク

http://www.shigemk2.com/entry/2014/05/23/%E3%82%B7%E3%82%A7%E3%83%AB%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%921%E8%A1%8C%E3%81%9A%E3%81%A4%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%82%80

switch文

通常のプログラミング言語より柔軟性が若干あります。

基本パターン

条件にorを使用

正規表現を使用

こちらに応用技が載っています。

http://shellscript.sunone.me/case.html

タブ時の扱い

プログラミング言語だと”\t”と記述することが多いですが、シェルスクリプトの場合、シングルクオートでくくるか、echo時に-nのオプションが必要です。

逆にダブルクオートだとそのまま文字として出力されます。

リンク

http://d.hatena.ne.jp/iww/20120915/asciicode

空文字判定

これまたちょっと特殊なパターンです。

リンク

http://d.hatena.ne.jp/masa_edw/20080422/1208834378

変数から変数への代入

再代入の場合には代入される側は$がいらないようです。

リンク

http://qiita.com/yuyuchu3333/items/850f530bc76505e5d412

まだ全然整理できていないのでまとめる必要がいろいろありそうですね。

ログをみる処理など、応用範囲は広いと思うのでここで勉強しておきたいです。

 

 

-プログラミング全般
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

オブジェクト指向設計 柔軟なインターフェイス

オブジェクト指向シリーズ。今回はインターフェイスについて。 インターフェイスといっても、implementsを使った実装だけではなく、要はあるクラスが外部の窓口となるときに使うメソッドってことだと思う …

no image

CIことはじめ

業務でJavaのテキスト変換ツールを作成。 プログラムよりもCIツールを使って他人の環境下で正常に稼動させるためにどうするかの調査に時間かかりましたね。 今回やりたかったことは下記の通りです。いわゆる …

no image

Webの高速化に関して

Webの高速化に関してメモ。 高速化って言っても幅広いんですけどね。自分が行なっている対策に関して。 一応LAMP環境を前提にしてます。 Contents1 一番大事なのは測定2 DB対策3 フロント …

no image

制御フローについて

リーダブルコード 7章。制御フロー(if文などの条件分岐)について ここらへんは個人個人癖がついているとおもいますが、確かに読みやすい、読みにくいというのはあるのでなるべく汎用性のある規則を身につけた …

no image

バッチスクリプトで気をつけたい点

実務でバッチ処理を作る際に気をつけるべきと思ったこと。 基本的にエラーをいかに捉えていかにログに吐くかを最初に考える。まずはエラーありき。失敗するもの、想定した値がこない、あるいは値がないを前提として …