awk -F ':' '{print $2}'에 해당하는 sed가 있습니까?

awk -F ':' '{print $2}'에 해당하는 sed가 있습니까?

아마도 누군가가 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|'

Is는 (...) 사이의 텍스트를 \1로 저장한 다음 이를 전체 문자열로 대체합니다.

답변4

펄 대안:

echo "first:second:third" | perl -F':' -lane 'print $F[1]'

관련 정보