BASHプログラミング
 Computer >> コンピューター >  >> プログラミング >> BASHプログラミング

例を使用して、Bash/シェルスクリプトで文字列を分割する方法

この記事では、Bash / Shellスクリプトの特定の区切り文字で文字列を分割する方法と、いくつかの例を示します。

文字列の分割は、スクリプトを作成するときに利用できる便利な機能です。 CSV(カンマ区切り値)は、データをオンラインで利用できるようにする一般的な形式であり、テーブル内のデータフィールドは(驚きの)カンマで区切られます。

また、スペースで文を単語に分割したり、ピリオドで段落を文に分割したりすることもできます。

多くのソリューションは、文字列を分割するBash固有の方法に焦点を当てています。以下に、Linuxシェルスクリプトで機能する方法の概要を示します。

カットの使用 文字列を分割するコマンド

カット Linuxのコマンドは、テキストファイルの行からセクションを削除してから出力します。

この例では、このコマンドを適応させて、特定の区切り文字でテキストを分割します。

cutの完全なユーザーマニュアルについて コマンドは、ここをクリックしてください。

コード

以下は、文字列 splitMeを受け取るBashスクリプトの例です。 カンマで分割された文字列内の位置に基づいてアイテムを返します( ):

#!/bin/bash

# Define a comma-separated string
splitMe='apple,banana,grape,kiwi'

# Get the first item in the split string
firstItem="$(echo $splitMe | cut -d',' -f1)"

# Get the third item in the split string
thirdItem="$(echo $splitMe | cut -d',' -f3)"

# Confirm the result by outputting it to screen
echo $thirdItem
に出力して結果を確認します

では、なぜこれが機能するのでしょうか。 エコー コマンドは、元の文字列を cutにパイプするために使用されます 指図。 カット コマンドは-dを使用します 区切り文字を指定するオプション(この場合はカンマですが、任意の文字または文字列を使用できます )、および -f オプションの後に、返されるフィールドを指定する番号が続きます。これは、分割された文字列から取得するアイテムの位置です。

再利用可能なBash関数

それはすべてうまくいっていますが、実際には再利用可能ではないため、ここでは関数内にあります:

#!/bin/bash

# Define function to split strings
# It will accept three parameters, the string to split, the delimiter, and finally the position of the item to return
splitMyString(){
    splitString=$1
    delimiter=$2
    item=$3
    result="$(echo $splitString | cut -d',' -f$item)"
    echo $result
}

# Define a string to split for testing
splitMe='apple,banana,grape,kiwi'

# Test the function by splitting the string at the comma and returning the second item
echo $(splitMyString $splitMe "," 2)


  1. 6 つの実用的な例を含む Bash シェル関数のチュートリアル

    Bash シェル関数は、グループに単一の名前を使用して、後で実行するために複数の UNIX / Linux コマンドをグループ化する方法です。 . Bash シェル関数は、通常の Unix コマンドと同じように実行できます。シェル関数は、それらを解釈するための新しいプロセスを作成することなく、現在のシェル コンテキストで実行されます。bash エイリアスと関数の両方を使用すると、より長い、またはより複雑なコマンドのショートカットを定義できます。ただし、エイリアスは、このチュートリアルで説明されているように、これらの関数が許可する制御フロー、引数、およびその他の巧妙なものを許可しません。 この

  2. 5 つの実用的な例を含む Bash スクリプト入門チュートリアル

    進行中の Unix Sed および Unix Awk シリーズと同様に、Bash スクリプトに関するいくつかの記事を投稿します。実用的な例ですべての bash スクリプト テクニックをカバーします。 シェルは、ユーザー コマンドを解釈するプログラムです。コマンドは、ユーザーが直接入力するか、シェル スクリプトと呼ばれるファイルから読み取るかのいずれかです。ユーザーからの入力を直接読み取る場合、シェルは対話型シェルとして呼び出されます。 シェルは、ファイルからコマンドを読み取って実行するときに、非対話型シェルとして呼び出されます。この場合、シェルはスクリプト ファイルの各行を上から下に読み取