![특정 문자로 시작하는 줄을 추출하는 방법은 무엇입니까?](https://linux55.com/image/78889/%ED%8A%B9%EC%A0%95%20%EB%AC%B8%EC%9E%90%EB%A1%9C%20%EC%8B%9C%EC%9E%91%ED%95%98%EB%8A%94%20%EC%A4%84%EC%9D%84%20%EC%B6%94%EC%B6%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
많은 줄이 포함된 texfile이 있습니다. 예를 들면 다음과 같습니다.
AABBA, 10050, Tom marc Peter , POR
BBBAC, 10051, Eva braun, AUS
CCAHA, 10052, Jon murry , UDD
GGHAN, 10053, Taler yon, AGG
IIUSA, 10054, Raff paleen , EUS
UUGAS, 10055, Bara enty, ESP
성이 P로 시작하는 사람들의 행을 추출하고 싶습니다.
산출:
AABBA, 10050, Tom marc peter , POR
IIUSA, 10054, Raff paleen , EUS
답변1
awk -F, '{ n=split($3,a," "); if(tolower(substr(a[n],0,1))=="p") print $0; }'
답변2
쉼표의 수와 p/P로 시작하는 반환 단어에 따라 "모든" 정규식 프로그램을 사용하여 이를 수행할 수 있습니다. 예를 들어
grep -E '^([^,]+,){2,2}[^,]+[[:space:]][pP][^[:space:],]+[[:space:]]*,' mytextfile
주어진
AABBA, 10050, Tom marc Peter , POR
IIUSA, 10054, Raff paleen , EUS
답변3
grep -ie' p[^, ]* *,[^,]*$' \
<<""
AABBA, 10050, Tom marc Peter , POR
BBBAC, 10051, Eva braun, AUS
CCAHA, 10052, Jon murry , UDD
GGHAN, 10053, Taler yon, AGG
IIUSA, 10054, Raff paleen , EUS
UUGAS, 10055, Bara enty, ESP
AABBA, 10050, Tom marc Peter , POR
IIUSA, 10054, Raff paleen , EUS