
也許有人可以幫我找到(最簡單的)與以下 awk 指令與 sed 等效的指令:
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]'