sed 삭제 명령 - 대문자/소문자 포함

sed 삭제 명령 - 대문자/소문자 포함

다음 명령을 사용하여 다음을 포함하는 줄을 제거하고 있습니다.hotmail

sed -i '/^[^\t]*\t[^\t]*hotmail/d' ./file

테스트 데이터는

"foxva****omes****","[email protected]","8*** Rd","Ne***ah","Wi***in","54***","*******"
"foxva****omes****","[email protected]","8*** Rd","Ne***ah","Wi***in","54***","*******"
"foxva****omes****","[email protected]","8*** Rd","Ne***ah","Wi***in","54***","*******"

현재는 첫 번째 행만 삭제됩니다. 두 번째와 세 번째 줄에는 대문자가 포함되어 있으므로 제거되지 않습니다. 대소문자를 구분하지 않게 변경하려면 어떻게 해야 하나요?

답변1

이 시도:

sed -i '/^[^\t]*\t[^\t]*hotmail/dI' ./file

그러나 최신 GNU sed를 사용하지 않으면 문제가 발생할 수 있습니다.

sed -i '/^[^\t]*\t[^\t]*[hH][oO][tT][mM][aA][iI][lL]/d' ./file

이 링크는 GNU sed 매뉴얼로 연결됩니다설명 I및 기타 수정자.

답변2

sed에는 대소문자를 구분하지 않는 일치를 위해 추가할 수 있는 I 플래그가 있습니다.

바라보다https://stackoverflow.com/questions/2157288/using-sed-to-delete-a-case-insensitive-matched-line

관련 정보