也许有人可以帮助我找到(最简单的)与 sed 等效的以下 awk 命令:
echo "first:second:third"|awk -F ':' '{print $2}'
second
答案1
$ echo "a:b:c" | sed 's/^[^:]*:\([^:]*\):.*$/\1/'
b
答案2
您可以使用cut
。
echo "first:second:third" | cut -f 2 -d ":"
我认为sed
这是错误的工具。awk
可能是最干净的。
答案3
这也有效
echo "a:b:c" | sed 's|.*:\(.*\):.*$|\1|'
将 (...) 之间的文本保存为 \1,然后用它替换整个字符串。
答案4
Perl 替代方案:
echo "first:second:third" | perl -F':' -lane 'print $F[1]'