タグ

ブックマーク / shellscript.sunone.me (6)

  • 日付を取得する | UNIX & Linux コマンド・シェルスクリプト リファレンス

    → -d 'N days ago' オプションで N 日前の日付を取得できる。 Linux では拡張された GNU date コマンドが使用できるので、簡単に過去の日付を取得できる。 $ date 2007年 6月 2日 土曜日 23:05:20 JST #↑そのまま実行すると当日の日時が表示される。 $ date -d '1 days ago' 2007年 6月 1日 金曜日 23:05:31 JST #↑1日前を指定すると、現在日時から24時間前の日時が表示される。 「GNU date」が使用できない場合 → 一時的に環境変数 TZ を変更した上で date コマンドを実行する。 古い UNIX マシンなどでは、「GNU date」が使用できない場合が多い。そういった環境では、一時的にタイムゾーンを変更して date コマンドを実行することで、過去の日付を取得することができる。 $ e

    日付を取得する | UNIX & Linux コマンド・シェルスクリプト リファレンス
    sesuna
    sesuna 2016/06/09
  • フィルタを使用した文字列操作 2 | UNIX & Linux コマンド・シェルスクリプト リファレンス

    フィルタを使用した文字列操作 2 cut コマンドを使用したフィルタリング 特定のフィールドを切り出す テキストファイルなどから n フィールド目を切り出す、n-m フィールド目を切り出す、といった処理には cut コマンドを使用する。 # numフィールド目を切り出す。 cut -d'デリミタ' -fnum # num1フィールド目とnum2フィールド目を切り出す。 cut -d'デリミタ' -fnum1,num2 # num1-num2フィールド目を切り出す。 cut -d'デリミタ' -fnum1-num2 → cut コマンドの -d オプションで特定のフィールドを切り出す。 cut コマンドにフィールド間の区切り文字となるデリミタと切り出すフィールド番号を指定することで、指定したデリミタによって区切られた特定のフィールドを切り出すことができる。 デリミタを指定しない場合は、デフォ

    フィルタを使用した文字列操作 2 | UNIX & Linux コマンド・シェルスクリプト リファレンス
    sesuna
    sesuna 2016/06/08
  • 引数を処理する | UNIX & Linux コマンド・シェルスクリプト リファレンス

    引数を処理する 引数とは? 引数 (ひきすう) とはコマンド (シェルスクリプト) 実行時に、コマンドラインから渡される値のことである。 引数は実行時にプログラム内で参照され、シェルスクリプトの実行結果 (動作) に影響を与える。引数はパラメータと呼ばれることもある。 → コマンド名に続けて引数としてコマンドに渡したい値のリストを指定する。 引数はコマンド名に続けてスペース区切りで指定する。引数として指定可能な値の数は各コマンドにより異なる。 【参考】 引数とオプション コマンド実行時に指定する値には引数とオプションがある。引数は実行に使用されるファイル名や出力されるメッセージなどを指定するのに使用される。 一方、オプションは -f などのように - (ハイフン) とアルファベット1文字で表記され、主にコマンドの振る舞い方を指定する目的で使用されるものである。 また、オプションは -a -

    引数を処理する | UNIX & Linux コマンド・シェルスクリプト リファレンス
    sesuna
    sesuna 2016/06/08
  • 変数を使用する | UNIX & Linux コマンド・シェルスクリプト リファレンス

    → 他のプログラミング言語と同様に = を使用する。 シェルスクリプトでも C言語などと同様に = を使用することで変数に値を設定することができる。ただし、C言語とは違い = の前後にスペースがあってはいけない。 また、変数名の大文字と小文字は区別されるため変数 VAR と変数 var は別物として扱われる。さらにシェル変数に「型」は存在しないので、文字列や数値を区別なく設定できる。 ポイントをまとめると以下のとおりとなる。 = を使う 値の設定時は変数名の先頭に $ を付けない ($ は参照時のみ) = の前後にスペースを入れない (前後にスペースがあるとエラー) 型は存在しない (declare コマンドや typeset コマンドで似たようなことができるが推奨はしない) 変数名の大文字・小文字は区別される (VAR と var は別物) 特に「2」は初心者が犯しがちなミスなので注意す

    変数を使用する | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • 文字コードと改行コード | UNIX & Linux コマンド・シェルスクリプト リファレンス

    文字コードと改行コード 文字コード 古くから UNIX の日語環境では EUC-JP が標準の文字コードとして使用されてきたが、近年の多く普及している Linux の日語環境は UTF-8 が一般的になっている。さらに Windows では Shift-JIS が標準であるため、これらの環境を同時に使用している場合は、文字コードへの理解と各種文字コードの相互変換作業が必要となってくる。 使用されている文字コードを調べる →使用されている文字コードを調べるには nkf コマンドの -g オプションを使用する。 ファイルなどに使用されている文字コードを調べるには、後述する文字コードの変換に使用する nkf コマンドの -g オプションを使用する。 実際に文字コードの判別を行ってみる。 $ nkf -g sjis.txt Shift_JIS #↑sjis.txt は Shift-JIS で保

    文字コードと改行コード | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • 関数の使用方法 | UNIX & Linux コマンド・シェルスクリプト リファレンス

    → 関数名を指定したブロック内に処理を定義する。 関数名とその関数の処理を定義することで、一連の処理を関数を呼び出すことが可能になる。通常、関数の最後には return コマンドを指定し、その引数として与えた値が関数の終了ステータスとなる。 return コマンドの引数に指定できる値は、0 もしくは 1~255 の正の整数値のみである。マイナスの値も指定可能であるが、-1 を指定した場合は結果的に 255 になる。紛らわしいので、0 もしくは 1~255 の正の整数以外は指定しないようにする。 この return コマンドは省略可能で、省略された場合は関数内で最後に実行されたコマンドの終了ステータスが、関数自体の終了ステータスとなる。 関数を呼び出すときは、関数名と引数のリストを指定する。引数は省略可能である。呼び出すときの関数名は C言語などのように () を付ける必要はない。func(

    関数の使用方法 | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • 1