텍스트 파일이 있습니다. 이 파일에는 다음과 같은 문자와 숫자가 포함됩니다.
ANKR00TUR_R_20183240000_01D_30S_MO.rnx: 2018 11 20 00 00 0.0000000 GPS TIME OF FIRST OBS
brmu3350.14o: 2014 12 1 0 0 0.0000000 GPS TIME OF FIRST OBS
KNY12040.14o: 2014 7 23 0 0 0.0000000 GPS TIME OF FIRST OBS
rinex_quantity:grep "TIME OF FIRST OBS" * > time_of_first_epochs
다음과 같이 4 자리 숫자 만 추출하여 다른 파일에 저장해야합니다.
2018
2014
2014
다음 코드를 적용했지만 4 자리 숫자를 모두 추출합니다.
grep -Po "\d{4}" data
2018
3240
2018
0000
3350
2014
0000
1204
2014
0000
귀하의 grep
명령은 거의 정확했습니다. 그 앞뒤에 단어 경계가있는 경우에만 일치하도록 패턴을 고정해야합니다.
단어 경계는 단어 문자 (문자, 숫자, 밑줄)와 단어가 아닌 문자 (예 : 공백, 기타 구두점, 줄 끝 및 기타 모든 것) 사이에 일치하는 길이가 0 인 패턴입니다.
에서는 grep
패턴을로 둘러싸 \b
거나 -w
스위치를 사용하여 단어 일치를 활성화 하여이 작업을 수행 할 수 있습니다 .
$ grep -Po '\b\d{4}\b' data
2018
2014
2014
$ grep -Pow '\d{4}' data
2018
2014
2014
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다