수천 줄의 16진수 값이 포함된 텍스트 파일이 있습니다.
0x20000804
0x20001004
0x20002004
0x20004004
0x20008004 등... (수천 줄)
특정 인덱스/위치에서 특정 문자가 있는 줄을 제외하기 위해 역방향 grep 표현식을 수행하는 방법이 있습니까?
예: .txt 파일의 위 숫자에 대해 색인/위치 #6에 "8"이 없는 행만 유지하고 싶습니다.
다음으로 시작하세요:
0x20008034
0x20000804
0x20001004
0x20002004
0x20004004
0x20008004
다음과 같은 결과가 나와야 합니다.
0x20000804
0x20001004
0x20002004
0x20004004
이 줄에는 인덱스/위치 6에 문자 "8"이 없기 때문입니다.
답변1
그렙을 사용하세요:
grep -vE '^.{6}8' file
Awk에서는 빈 필드 구분 기호를 사용하여 각 문자가 필드가 되도록 합니다.
awk -F '' '$7 != "8"' file
답변2
$ grep -v '^0x....8' /path/to/datafile