sed 또는 awk를 사용하여 텍스트를 필터링하는 방법

sed 또는 awk를 사용하여 텍스트를 필터링하는 방법

거대한 단어 목록 파일이 있습니다. 숫자만 포함된 행을 삭제하고 싶습니다.

이 작업을 수행하는 데 사용할 수 있는 sed다른 것이 있나요 ?

입력하다:

Pass123
Dexg43
111116
246814
dancer@
Cody1234
Cody1234

예상 출력:

Pass123
Dexg43
dancer@
Cody1234
Cody1234

11116행과 246814행을 삭제해야 합니다. 나머지는 괜찮습니다.

답변1

  • sed

    sed '/^[0-9][0-9]*$/d' file
    sed '/^[0-9]\+$/d' file       # with gnu sed
    
  • awk '$0!~/^[0-9]+$/' file
    
  • grep

    grep -v '^[0-9][0-9]*$' file
    grep -v '^[0-9]\+$' file      # with gnu extension
    
  • 진주

    perl -ne 'print if !/^[0-9]+$/' file
    

산출:

Pass123
Dexg43
dancer@
Cody1234
Cody1234

관련 정보