exprのサンプル †四則演算のコマンドとしてよく利用されるexprコマンドですが、本資料では四則演算を含む他の便利な使用方法も記述します。 関連資料 †パイプ(|)を利用したサンプル †パイプを利用する場合は以下のような構文になります。 expr 左項 \| 右項 パイプの動作は左項が空または0の場合、右項が表示されます。
アンパサンド(&)を利用したサンプル †アンパサンド(&)を文字としてシェルに認識されるようにアンパサンド(&)の前にバックスラッシュ(\)をつけています。 expr 左項 \& 右項 アンパサンドの動作は右項、左項とも0以外または空でなければ左項が表示されます。
比較演算子を利用したサンプル(<, <=, =, ==, !=, >=, >) †比較した内容が正しければ1を、正しく無ければ0を表示します。
四則演算など †exprで+-*/を利用して四則演算ができます。()も利用できます。
パターンマッチ(match) †expr 文字列 : 文字列 以下も同じ動作 expr match 文字列 文字列 マッチしない場合は0を返却します。 $ expr sakura : sakura 6 $ expr match sakura sakura 6 $ expr match sakura sakur 5 $ expr match sakura sak 3 $ expr match sakura zzz 0 文字列部分の取得 †substrを利用することにより文字列の部分取得ができます。 expr substr 文字列 開始位置 長さ 以下に実行例を記します。 $ expr substr sakura 1 6 sakura $ expr substr sakura 2 6 akura $ expr substr sakura 2 3 aku 文字が存在した位置を返却する †indexを利用することにより、文字が出現した位置が返却されます。 expr index 文字列 キャラクタクラス 注意点としては、キャラクタクラスに指定した文字のいづれかが存在した最初の位置を返却します。 $ expr index sakura s 1 $ expr index sakura a 2 $ expr index sakura tsubaki 1 文字列の長さを取得する †lengthを利用することにより文字列の長さを取得することができます。 $ expr length sakura 6 $ expr length " sakura " 8 $ expr length "" 0 |