この質問に関して、 文字列に一致する列の列番号
特定の文字列を含む列番号を取得したいです。
彼らはその下で働かなかった。
string=Bo*
echo 'Hi Boo Jiggy' | awk -v b="$string" '{for (i=1;i<=NF;i++) { if ($i == b) { print i } }}'
...でもない
string=*oo
echo 'Hi Boo Jiggy' | awk -v b="$string" '{for (i=1;i<=NF;i++) { if ($i == b) { print i } }}'
どんな提案がありますか?よろしくお願いします!
ベストアンサー1
~
代わりに正規表現のような一致のために==
string=Bo*
echo 'Hi Boo Jiggy' |
awk -v b="$string" '{for (i=1;i<=NF;i++) { if ($i ~ b) { print i } }}'
出力
2
コメントで述べたように、*oo
正規表現として定義されていません(シェル拡張には有効ですが)。
上記のコードを再利用するには、文字列をドットで初期化する必要があります。
string=.*oo