파일에서 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인 숫자(예: 빈 줄)도 제거하도록 요청했습니다.