다음 내용의 파일이 있습니다: dskldfsd.com
domain
domain.com
sub.domain.com
domain.main.com
anythinghere
단어가 포함된 줄을 삭제하고 싶습니다 domain
. grep을 사용하면 이 명령은 내가 원하는 정확한 줄을 찾습니다.
grep -w '^domain$' test.txt
domain
그런데 줄의 처음부터 끝까지 한 단어가 포함된 이 줄을 삭제하고 싶습니다 . 단어가 domain
문자열의 일부인 줄을 유지하고 싶습니다 .
답변1
sed를 사용하세요:
sed -i -e '/^domain$/d' test.txt
답변2
어때요?
grep -v '^domain$' test.txt
답변3
왜 grep -v '^domain$'인가? 내가 이해하는 바에 따르면 질문에 따르면 단순히 grep -v 'domain' 입니다.
답변4
표준 도구를 사용한다고 가정하면 다음과 같이 할 수 있습니다.
grep -xF -v 'domain' test.txt >newtest.txt
이 -x
플래그는 grep
일치 항목을 전체 줄에 걸쳐 적용하고 -F
패턴을 grep
정규 표현식이 아닌 고정 문자열로 처리하도록 합니다. 문자열뿐만 아니라 -v
모든 줄이 포함되도록 일치 항목의 의미를 반대로 바꿉니다 . 결과는 에 기록됩니다 .test.txt
domain
newtest.txt