Bashの1行で一致する単語の位置(文字の位置ではない)を見つける

Bashの1行で一致する単語の位置(文字の位置ではない)を見つける

私は次のような行を持っています

Xckt VDD VSS sig[1] sig[2] sig[3] sig[4] sig[5] sig[6] CKT

sig[4]がどこにあるのか探したいです。この場合は返却する必要があります。7。同じことをするために、Bashの単純なスクリプト/1行のスクリプトが必要です。重複一致の場合、すべての一致が行に発生するとシーケンス番号が大きくなります。

ベストアンサー1

awk次のことができます。

awk '{for(i=1;i<=NF;i++)if($i=="sig[4]")print i}'

これは、複数の項目がある場合にも有効です。

すべての数字が同じ行にある必要がある場合は、に置き換えてprintそれprintfに応じて調整できます。

おすすめ記事