さまざまな数字で始まるすべてのフォルダを探す

さまざまな数字で始まるすべてのフォルダを探す

500から899の範囲の値で始まるすべてのフォルダを見つける方法は?ファイルにリストするだけです。

追加情報:

  • 最大深さ2
  • フォルダ名の例:593091_azerty_qwertyまたは849934_blablablabla_bla_blabla

答え1

以下を試してください( findその-maxdepthオプションをサポートしている場合)。

find parent_dir -maxdepth 2 -type d \(
  -name '[5-8][0-9][0-9][!0-9]*' -o -name '[5-8][0-9][0-9]' \) > my_file1.txt

答え2

の場合、zsh数値が常に10進整数であると仮定します(プロセッサがデフォルトでサポートする範囲内)。

setopt extended_glob
dirs=(<500-899>([^0-9]*|)(/N) */<500-899>([^0-9]*|)(/DN))

ただし、2番目のモードでは、ディレクトリへのシンボリックリンクが現在のディレクトリに存在する場合、そのディレクトリはターゲットから取得されますzsh<500-899>...

中かっこ拡張により引数分解が短縮されます。

dirs=({,*/}<500-899>([^0-9]*|)(/DN))

数字の後に常に来ると、_次のように単純化できます。

dirs=({,*/}<500-899>_*(ND))

5.2 より前のバージョンでは、プロセッサが整数を表すように、500 から 899 のモジュールで 2 64の数字とzsh一致するため、たとえば 2 69 + 512 と一致します。590295810358705652224_something

関連情報