我在Linux中使用bash脚本。我有一个看起来像这样的变量:
a="1-1-1 1-1-2 1-1-3 1-1-4"
我想使用AWK将值等于或大于1-1-3的列分开。
我的输出应该是:
1-1-3 1-1-4
有人可以帮我这个吗?
答案 0 :(得分:1)
你可以循环上线并比较:
echo $a | awk -v ORS=' ' '{for(i=1;i<=NF;i++) if($i >= "1-1-3") print $i;}'
答案 1 :(得分:1)
如果您使用空格作为记录分隔符,则可以在没有循环的情况下执行此操作:
echo $a | awk -v RS=' ' -v ORS=' ' '{$1=$1} $1>="1-1-3"'
答案 2 :(得分:1)
排序-V
选项为您提供&#34;版本&#34;排序可能会有所帮助:
$ a="2-0-0 1-1-1 1-1-2 1-1-3 1-1-4"
$ tr ' ' '\n' <<<"$a" | sort -V
1-1-1
1-1-2
1-1-3
1-1-4
2-0-0