여러 문자 구분 기호를 자르기 위해 awk를 사용하려고 합니다.
echo 'f1##f2' |awk -F '##' '{print $2}'
그러나 f2
.
echo 'f1||f2' |awk -F '||' '{print $1}'
인쇄 f1||f2
.
무슨 일인지 설명해 줄 수 있는 사람 있나요?
답변1
귀하의 경우 세로 막대 문자는 |
특수 문자로 간주되므로 이스케이프해야 합니다.
echo "f1||f2" |awk -F'\\|\\|' '{print $1}'
f1
|
대안으로 문자 클래스 에 넣을 수 있습니다 .
echo "f1||f2||f3" |awk -F'[|]{2}' '{print $3}'
f3