우분투, sed
그냥 ze
if를 제거 ze
하고 그냥 혼자 해보세요
내가 얻은 가장 가까운 것은 sed "s/\bze\b//g"
및 sed "s/^\bze\b//g"
였는데 원하는 결과를 얻지 못했습니다.
sed 이전:
ze.com
example.ze
zero.com
ze
sed 이후:
ze.com
example.ze
zero.com
답변1
당신은해야합니다라인 앵커단어 경계 대신
$ sed '/^ze$/d' file
ze.com
example.ze
zero.com
답변2
사용 grep
:
$ grep -vxF ze file
ze.com
example.ze
zero.com
사용된 옵션:
-v
일치의 의미를 부정하므로 선만 남습니다.아니요일치하는 패턴을 반환합니다.-x
처음부터 끝까지 전체 라인과 일치하는 패턴이 필요합니다.-F
grep
패턴이 정규식이 아닌 고정 문자열임을 나타냅니다 .
당신 표정의 문제가 sed
대체되고 있어요개정하다입력에 한 줄이 있지만 절대 그렇지 않습니다.삭제라인. 패턴은 \bze\b
전체 단어와 정확하게 일치 ze
하지만 해당 단어는 마지막 줄뿐만 아니라 다른 줄에도 나타납니다.
를 사용하여 줄을 삭제하려면 삭제하려는 줄과 일치하는 정규식과 함께 명령을 sed
사용하세요 . 예를 들어 ,d
^ze$
Steeldriver는 그의 답변에서 보여주었습니다..
~을 위한구체적인 예(마지막 줄 제거),
sed '$d' file
옵션이기도 할 것입니다. 여기서는 $
정규 표현식이 아닌(포함되지 않기 때문에 /.../
) 특수 표현식을 사용합니다.주소파일의 마지막 줄 내용입니다.