Expr

exprコマンドは、Unix系OSで利用できるコマンドの一つで、数式を評価して結果を標準出力に出力する機能を持っています。Version 7 Unixで初めて導入され、現在も広く利用されています。

exprの主な機能



exprコマンドは、整数文字列、および両方を組み合わせた数式を評価できます。具体的には以下の操作が可能です。

整数演算: 加算、減算、乗算、除算、剰余などの基本的な算術演算を実行できます。
文字列操作: 正規表現を用いたパターンマッチング、文字列内の文字検索、部分文字列の抽出、文字列の長さの取得などが可能です。
比較演算: 等しい、等しくない、より大きい、より小さいなどの比較演算を行い、真(1)または偽(0)の結果を返します。

これらの機能を組み合わせることで、複雑な条件式を評価することができます。

式の評価例



以下に、exprコマンドでブール式を評価する例を示します。

bash
expr length "abcdef" "<" 5 "|" 15 - 4 ">" 8


このコマンドを実行すると、結果として `1` が出力されます。これは以下の手順で評価された結果です。

1. `length "abcdef"` は文字列 "abcdef" の長さを返すため、`6` となります。
2. `6 "<" 5` は `6` が `5` より小さくないため、偽となり `0` と評価されます。
3. `15 - 4` は `11` となります。
4. `11 ">" 8` は `11` が `8` より大きいため、真となり `1` と評価されます。
5. 最終的に `0 "|" 1` は、論理和(OR)演算の結果として `1` と評価されます。

したがって、コマンド全体の評価結果として `1` が出力されます。

注意点



exprコマンドは、主に数値計算よりも文字列操作や条件式評価に向いています。数値のみの複雑な計算には、`bc` コマンドの方が適しています。
部分文字列の検索や文字列長の取得機能は、一部のバージョンでのみサポートされています。そのため、移植性を重視する場合は、これらの機能の使用は避けるべきです。

まとめ



exprコマンドは、Unix環境で広く利用される基本的なコマンドです。数式の評価、文字列操作、条件分岐などを組み合わせることで、様々な処理を柔軟に行うことができます。しかし、移植性の観点から、特定機能の利用には注意が必要です。

外部リンク



expr: evaluate arguments as an expression – The Open Group基本仕様書第7号2018年版「シェル及びユーティリティ」
* expr invocation in GNU coreutils manual

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。