時間ステップごとに名前が付けられたデータファイルがあります。たとえば、次のようになります。
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
0.11
...
0.99
1
1.01
...
1000
ご覧のとおり、一部のデータファイル名には小数点以下の2桁がありますが、他のデータファイル名には小数点1桁または小数点桁がありません。小数点以下2桁(例:0.01、0.02など)を持つ名前のファイルのみを削除し、すべてのファイルは小数点以下2桁未満に保ちたいと思います。だから最終的にファイルを次のように表示したいと思います。
0.1
0.2
...
0.9
1
1.1
...
1000
しかし、残りは削除してください。
小数点以下の数字で指定されたファイルを削除する方法は?
答え1
何を求めているのか分からない。あなたは両方とも頼む削除する小数点以下2桁未満のファイル維持する小数点以下 2 桁未満のファイルです。
bashシェルを使用するとします。答えはシェルによって異なります。
欲しいなら削除する小数点以下 2 桁以下のすべてのファイル:
shopt -s extglob
rm !(*.[0-9][0-9])
欲しいなら維持する小数点以下 2 桁以下のすべてのファイル:
rm *.[0-9][0-9]
答え2
これ:
$ rm +([0-9]).[0-9][0-9]
ドットの前に1つ以上の数字と小数点以下の2桁のすべてのファイルが削除されます。
extglogは対話型シェルに対してデフォルトで設定されているため、bashでは機能しますがスクリプトで使用する必要がある場合は、次のようにします。
shopt -s extglog
rm +([0-9]).[0-9][0-9]