Mac 터미널을 사용하여 텍스트 파일의 특정 문자열 인스턴스를 가져오고 유지하려고 합니다. 이러한 문자열 인스턴스 중 일부는 동일한 줄에서 발생하고 다른 일부는 다른 줄에서 발생합니다. 기본적으로 문자열 인스턴스는 GO:12345 형식입니다.
그래서 기본적으로 저는 세 문자 GO:로 시작하고 일련의 숫자로 끝나는 문자열 인스턴스를 얻으려고 합니다. Mac 터미널의 텍스트 파일에서 이러한 모든 문자열 인스턴스를 어떻게 얻을 수 있습니까? 어떤 조언이라도 대단히 감사하겠습니다.
답변1
grep -o 'GO:[0-9]*' filename
또는 문자열이 단독으로 나타날 가능성이 있고 GO:
이를 보고 싶지 않은 경우,
grep -E -o 'GO:[0-9]+' filename
옵션은 일치하는 전체 줄이 아닌 일치하는 문자열을 반환합니다 -o
. grep
한 줄에 두 개 이상의 일치 항목이 있으면 이러한 일치 항목은 출력에서 별도의 줄로 반환됩니다.
정규 표현식은 뒤에 0개 이상의 숫자가 오는 GO:[0-9]*
정확한 문자열과 일치하며 콜론 다음의 최소 한 자리 숫자와도 일치합니다( 로 쓸 수도 있음 ).GO:
GO:[0-9]+
GO:[0-9][0-9]*