다음과 같은 텍스트 줄이 있다고 가정해 보겠습니다.
#cat numbers.txt
Numbers!!!! John=55 May=43 RandomData Alex=72 Ben=90 End
하지만 나는 John의 전화번호에만 관심이 있어요. 원하지 않는 다른 항목을 모두 제거하고 출력을 다음과 같이 바꾸려면 어떻게 해야 합니까?
#cat numbers.txt | <some command line magic>
John=55
참고: 텍스트 파일에서 "John"이 어디에 있는지, John에게 어떤 번호가 할당되어 있는지 모릅니다.
답변1
나는 그것을 할 것이다:
awk '{ print $2 }' numbers
John=55
단, 원하는 정보는 항상 두 번째 필드에 있습니다.
편집하다:~에 따르면당신의편집하세요. 파일에서 John이 어디에 있는지 모르기 때문에 다음과 같이 하겠습니다.
egrep -o 'John=[0-9]{2}' numbers
John=55
답변2
John=과 다음 공백 구분 기호 사이에 무엇이 있는지 원하는 경우(숫자 개수에는 제한이 없으며 미리 알 필요가 없습니다)
grep -Po 'John=\K.*?(?= )' numbers