파일에서 0-9자 길이의 숫자만 제거하는 방법은 무엇입니까?

파일에서 0-9자 길이의 숫자만 제거하는 방법은 무엇입니까?

파일에서 0,1,2,3,4,5,6,7,8,9 문자 길이의 숫자만 제거하려면 어떻게 해야 합니까? 이 패턴과 일치하는 라인을 의미합니다.

제거 가능한 라인의 예:

cat input.txt
1
123423113
8372
8472323

삭제하면 안 되는 줄의 예:

cat input.txt
1a
1245d45
8565438753
b39592
3827495Hx

답변1

사용 sed:

sed -i.bak -e '/^[0-9]\{1,9\}$/d' file

사용 perl:

perl -i.bak -nle 'print unless /^[0-9]{1,9}$/' file

답변2

perl -i.bak -nle 'print unless /^[0-9]{0,9}$/' file

길이가 0인 숫자(예: 빈 줄)도 제거하도록 요청했습니다.

관련 정보