我有一个名为 test 的文件,其中有两列,一列具有 ID,另一列具有状态。
我想循环遍历文件并打印 ID,其中状态具有一个特定值(例如“ACTIVE”)。
我尝试了
cat test | while read line; do templine= $($line | cut -d ' ' -f 2);echo $templine; if [ $templine = 'ACCEPTED' ]; then echo "$templine"; fi done
上面的一些变体,但显然不起作用。
任何帮助,将不胜感激。
答案1
当您需要操作字段中的数据时,awk
往往非常适合:
awk '$2 == "ACTIVE" { print $1 }' test
这会读取 的每一行test
,将其拆分为多个字段,然后检查第二个 ( $2
) 是否为ACTIVE
;如果是,则打印第一个字段。