
私は以下を実行しています
awk '$2 ~ /^[0-9]\s+/ {print($2)}' file >> file1
数字の後にスペースが続く行のみを選択するようにこれを修正する方法がわかりませんか?
答え1
パターンはフィールド 2 でスペースを探しているため一致しませんが、フィールドはスペースで区切られているため、これらの文字はフィールド内に存在することはできません。
フィールド2に数字のみを入れたい場合は、これを使うことができます。
$2 ~ /^[[:digit:]]+$/
後ろにスペースがあることを保証したい場合は、フィールド3がゼロでないことを確認します。
$2 ~ /^[[:digit:]]+$/ && $3 > ""