
ファイルから 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
長さがゼロの数字 (つまり、空行) も削除するように要求しました。