awkでは、ハイフンとゼロから多文字で構成される文字列を検索しようとしています。私は比較を行うためにチルダ演算子を使用して、パターンawk - チルダ演算子とハイフン。次のテストは期待どおりに評価されていません
/[-][a-zA-Z]*/
テストに基づいて適切なフィールドを返すように期待しています:
echo "test -abc" | awk '{for (i=0; i<=NF; i++){if ($i ~ /[-][a-zA-Z]*/){print $(i+1);exit}}}'
それは一貫して「テスト」を返しています。
ご協力いただければ幸いです。
を与える
sed
ソリューションについては、 '$ 0 '全体入力行はありませんか? – melpomene
インデックスを '0'から' 1'に変更し、 '
karakfa
これは正しい方向だった@karakfaに感謝します。 'i = 1; i≦NF; i ++ 'と' print {$(i) 'はそれを修正しました。完璧な意味合いがあります。顔の手のひら。 – kgjac