GNU/Linux >> Linux の 問題 >  >> Linux

Bashで文字列の長さを見つける方法[クイックヒント]

bashで文字列を処理している場合は、文字列の長さを知る必要があるかもしれません。

ありがたいことに、bashで文字列の長さを取得するのは非常に簡単です。 my_stringという名前の文字列があるとします。 。その長さは次のように抽出できます:

${#my_string}

物事をよりよく説明するための例を次に示します。

[email protected]:~$ my_string="abhishek"
[email protected]:~$ echo "length is ${#my_string}"
length is 8

簡単でしたね。この文字列の長さを別の変数に保存して、後で使用できます:

[email protected]:~$ my_string="abhishek"
[email protected]:~$ length=${#my_string}
[email protected]:~$ echo "String length is $length"
String length is 8

Linuxの他のほとんどのものと同様に、Bashで文字列の長さを計算する方法はこれだけではありません。

exprコマンドを使用してbashで文字列の長さを取得する

bashで文字列の長さをテストするのに役立つ他のコマンドをいくつか見てみましょう。

これらのコマンドの1つはexprコマンドです。文字列オプションに役立ついくつかのオプションがあります。その中で、length 文字列の長さを示します。

[email protected]:~$ expr length "my string"
9

exprコマンドは長さを出力するため、コマンド置換を使用して変数に格納する必要があります。

#!/bin/bash

str="my string"
length=$(expr length "$str")
echo "Length of my string is $length"

このbashシェルスクリプトを実行すると、長さが出力されます:

[email protected]:~$ bash string.sh 
Length of my string is 9

文字列の長さを取得するにはawkを使用します

AWKは、Linuxコマンドラインでテキストを編集するための非常に用途の広いコマンドです。これを使用して、文字列の長さを計算することもできます。

echoコマンドを使用してから、パイプリダイレクトを使用してawkで解析する必要があります:

[email protected]:~$ echo "my string" | awk '{print length}'
9

ご覧のとおり、awkコマンドの基本に精通していない限り、構文を覚えるのは簡単ではありません。

wcコマンドを使用して文字列の長さを計算する

Linuxで文字列の長さを取得する別の方法は、wcコマンドを使用することです。現在、wcコマンドは、ファイル内の行数、文字数をカウントするために使用されています。

文字列をエコーし​​て、wcコマンドにパイプすることができます。 -m オプションは文字数を示します。

[email protected]:~$ echo -n "my string" | wc -m
9

-nに注意してください エコーコマンドのオプション? echoは新しい行文字\nを自動的に追加するため、これは重要です。 最後に、それは文字列の長さを1つ増やします。 -nを使用 オプション、echoコマンドは改行文字を追加しません。

前の例で見たように、コマンド置換を使用して文字列の長さを変数に格納できます。

#!/bin/bash

str="my string"
length=$(echo -n "my string" | wc -m)
echo "Length of my string is $length"

個人的には、${#string}が文字列の長さを取得するための私の好ましい方法です。覚えやすい。

君はどうでしょう?どちらの方法が好きですか?


Linux
  1. UbuntuにCurlをインストールする方法[クイックヒント]

  2. Bashのヌル区切り入力で`head`と`tail`を実行する方法は?

  3. Kubernetesでノードを読み取る方法[K8sのクイックヒント]

  1. 文字列にBashの部分文字列が含まれているかどうかを確認する方法

  2. bashで文字列内の単語のインデックスを見つける方法は?

  3. bash - 部分文字列の文字列インデックス位置を見つける

  1. Bashで文字列を16進数として読み取る方法は?

  2. Bashスクリプトで文字列を分割する方法

  3. Linuxでグループからユーザーを削除する方法[クイックヒント]