128420개의 레지스터가 포함된 파일이 있습니다. 그런데 한 행, 두 행, N 행에서 일치하는 값 2개를 찾아야 합니다.
같은 행에서 59708, 27073 같은 값을 찾아야 하는데
여기에 예가 있습니다.
라는 파일이 있습니다location_2020_01_10_11_12_17.dat
내부적으로 3개의 레지스터가 있습니다.
3G COF9708 59708 334 020 28.219 100.9 0 NO TOP 8 U1900 BBBBB 8 AMV 27073 \N \N \N \N 59708 \N WCO3557 \N \N \N \N XXXXXXXX 4 TC FALSE
3G MXZ9708 59708 334 020 18.6841 997 0 NO TOP 8 U850 AAAAAA 36012 \N \N \N \N 59708 \N WMX9708 \N \N \N \N Sin_Municipio XXXXXXXXXX 9 TX FALSE
2G MX9708Z 59708 334 020 18.6841 996 0 NO TOP Z G850 AAAAAA 1227 \N \N \N MX9708 59708 \N \N \N \N \N \N Sin_Municipio YYYYYYYYYYY 9 MA FALSE
나는 사용했다
grep -E -- '59708|27073' cell_location_2020_01_10_11_12_17.dat
반품
egrep '59708|27073' cell_location_2020_01_10_11_12_17.dat
하지만 작동하지 않습니다.
결과 1개 표시에 대한 아이디어를 공유해 주실 수 있나요?
3G COF9708 59708 334 020 28.219 100.9 0 NO TOP 8 U1900 BBBBB 8 AMV 27073 \N \N \N \N 59708 \N WCO3557 \N \N \N \N XXXXXXXX 4 TC FALSE
답변1
두 문자열을 일치시키고 싶지만 순서를 모르시나요? 노력하다
grep '59708.*27073\|27073.*59708' file
3G COF9708 59708 334 020 28.219 100.9 0 NO TOP 8 U1900 BBBBB 8 AMV 27073 \N \N \N \N 59708 \N WCO3557 \N \N \N \N XXXXXXXX 4 TC FALSE
답변2
59708이 859708 또는 597083과 잘못 일치하지 않도록 패턴에 구분 기호를 포함해야 할 수도 있습니다.
awk를 사용할 수 있습니다.
awk '/ 27073 / && / 59708 /' location_2020_01_10_11_12_17.dat