Unix 텍스트 파일에서 특정 소문자가 포함된 모든 줄을 제외합니다.

Unix 텍스트 파일에서 특정 소문자가 포함된 모든 줄을 제외합니다.

아래/위 문자 조합이 포함된 텍스트 파일이 있습니다. 특정 소문자가 나타나는 행을 제거하고 싶습니다.

텍스트 파일 내용:

aASDF1234qwerty;lkJHG
fdsaAghiyirchgdadgqa2

작업 - 소문자 "a", "e", "j", "k"가 나타나는 모든 줄을 삭제합니다.

대문자만 있는 모든 행을 가져오기 위해 아래 옵션을 시도했지만 예상대로 작동하지 않았습니다.grep -wo '[[:alnum:]]*A*E*J*K*[[:alnum:]]*' test.txt

답변1

사용 grep:

grep -v '[aejk]' /path/to/file

사용 awk:

awk '! /[aejk]/ { print }' /path/to/file

사용 sed:

sed '/[aejk]/d' /path/to/file

이러한 모든 예에 사용된 정규식은 /[aejk]/"다음 문자 중 하나: a, e, j또는 k"로 음역될 수 있습니다. grep호출하면 awk일치하는 모든 행이 반환됩니다.아니요해당 표현식과 일치합니다. 호출의 sed최종 결과는 동일하지만 다음과 같이 작동합니다.생략구문 분석된 파일의 모든 행에서하다성냥.

관련 정보