case "$3" in
-id)
echo "Lines matches with the pattern $4 :"
#grep -oP $4 $2
;;
esac
답변1
다음 awk 명령을 시도해 볼 수 있습니다.
awk -F"|" '$2 ~ /^9/ && $3 ~ /^9/ { print $2,$3 }' filename
출력에는 두 번째 단어와 세 번째 단어 사이에 공백이 포함되어 있지만 필요에 따라 OFS를 사용하여 이를 설정할 수 있습니다.
편집하다:
귀하의 프로그램은 다음과 같습니다:
case "$3" in
-id)
echo "Lines matches with the pattern $4 :"
filename=$2
id=$4
echo "`grep "^$id" $filename | awk -F"|" -v ID="$id" '$1==ID'|awk -F "|" '{print $2,$3,$5}'`"
;;
esac