아래/위 문자 조합이 포함된 텍스트 파일이 있습니다. 특정 소문자가 나타나는 행을 제거하고 싶습니다.
텍스트 파일 내용:
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
최종 결과는 동일하지만 다음과 같이 작동합니다.생략구문 분석된 파일의 모든 행에서하다성냥.