也许有人可以帮助我find(最简单的)相当于下面的这个awk命令与sed:
echo "first:second:third"|awk -F ':' '{print $2}' second
$ echo "a:b:c" | sed 's/^[^:]*:\([^:]*\):.*$/\1/' b
你可以使用cut 。
echo "first:second:third" | cut -f 2 -d ":"
我认为sed是这个错误的工具。 awk可能是最干净的。
这也可以
echo "a:b:c" | sed 's|.*:\(.*\):.*$|\1|'
将(…)之间的文本保存为\ 1,然后将其replace为整个string。
Perl的替代:
echo "first:second:third" | perl -F':' -lane 'print $F[1]'