「202.png、405.png、0052.png、04050.png、...」というファイルがあるディレクトリがあります。ファイル名の先頭に表示されるゼロを含まないファイル名を見つけるには、 find コマンドが必要です。たとえば、00504.pngというファイルがある場合、findコマンドにパラメータ504.pngを渡すと、ディレクトリ内のファイルの実際の名前である00504.pngファイル名が返されるはずです。
予想される出力コマンドは次のとおりです。
$ find . -name 504.png
元のファイル名00504.pngを返す必要があります。
答え1
私が知る限り、このfind
コマンドは-name
単純なグローバル一致のみをサポートします。ただし、ゼロ文字以上の前に付いた一致を使用できます-regex
。504.png
0
find . -regex '.*/0*504.png'
完全なパスマッチな.*/
ので大手です。-regex
再帰検索が不要な場合、bashなどのシェルは次の表現を可能にする拡張globを提供できます。*(0)
printf '%s\n' *(0)504.png
使用しているシェルのマニュアルを確認してください。