シェルスクリプトで文字列の長さを確認する方法
目次
スポンサードリンク
Linuxのシェルスクリプトでは変数に文字列を代入することができます。文字列の長さを確認したり、長さによって処理を分岐する方法を解説します。
シェルスクリプト上で以下のように記述すると、文字列の長さを取得することができます。
${#変数名}
サンプルコード
#!/bin/sh
string1="This is example."
string2="これはサンプル文字列です."
echo ${#string1}
echo ${#string2}
exit 0
上記のサンプルコードを実行すると以下のように表示されます。RHEL系のLinuxで試してみましたが日本語の文字列でも問題なく正しい文字数が取得できています。数値の桁数をチェックする際に有用ですね。
# ./sample.sh
16
13
文字数の長さによって処理を分岐する方法
if文で使える演算子を使って文字列の長さによって処理を分岐させることができます。-eq は数値と一致しているか、-gt、-ge などでは数値の大小を条件にすることができます。
if [ ${#string1} -eq 16 ]; then
echo 'string1は16文字'
fi
if [ ${#string2} -eq 13 ]; then
echo 'string2は13文字'
fi
if [ ${#string1} -ge 16 ]; then
echo 'string1は16文字以上'
fi
if [ ${#string1} -gt 15 ]; then
echo 'string1は15文字より大きい'
fi
if [ ${#string2} -le 13 ]; then
echo 'string2は13文字以下'
fi
if [ ${#string2} -lt 14 ]; then
echo 'string2は14文字より小さい'
fi
# ./sample.sh
string1は16文字
string2は13文字
string1は16文字以上
string1は15文字より大きい
string2は13文字以下
string2は14文字より小さい
シェルスクリプトの知識は、プログラマにとって長く役立つ知識です。 私はこちらの書籍で一通り知識を抑えました。基本から丁寧に解説されています。
リンク
最短3時間で覚えるLinuxシェルスクリプト
こちらは、シェルスクリプトの基本的な書き方、デバッグ方法、if, case, while, forなど基本的な制御構文について書かれています。30日間の無料体験もできる『Kindle Unlimited』でも読むことができます。
リンク
Search
Recent Posts
- ロードバイクで気軽にデイキャンプを楽しむなら、超軽量コンパクトなペグハンマーが必須!20センチ以下のおすすめ3製品を比較しました
- grepコマンドの検索文字列に一致する行の有無によって処理を分岐するシェルスクリプト
- Amazon Linux 2023で epelリポジトリを有効化しNagiosをインストールする方法
- スマホが落下しない、雨でも濡れない、ROCKBROSのスマホケース付きスポーツバイク向けトップチューブバッグ:SKU:B68
- Laravelインストール時のエラー「Failed to download psr/http-message from dist: The zip extension and unzip/7z commands are both missing, skipping.」の対処方法