文字列に一致する列の列番号

文字列に一致する列の列番号

私はこれが簡単に見えますが、動作させることができないか、機能オプションが見つからないことを知っています。

Linux UBUNTUオペレーティングシステム、bashスクリプト

文字列に基づいて列番号を識別する必要があります。 (検索する列の数は常に異なります。)

入力例:

STRING="Boo"
Hi Boo Jiggy

出力例:

2

ベストアンサー1

awkを使用してください:

$ string=Boo
$ echo 'Hi Boo Jiggy' | awk -v b="$string" '{for (i=1;i<=NF;i++) { if ($i == b) { print i } }}'
2

検索文字列をawkパラメータとして渡し、入力の各フィールドを繰り返します。現在のフィールドが検索パラメータと同じ場合は、その番号を印刷します。

注:この方法は複数の文字列がある場合は検索しますが、部分文字列では機能しません。

おすすめ記事