2

次の名前のフォルダーがあります。

example1 example2 example3

そして、それぞれから例の番号を抽出したいと思います。何かのようなもの:

for exampleSubfolder in `find . -type d`
do
  example_number= #replace 'example' in $exampleSubfolder with empty string
  #do other stuff in this subfolder
done

これを行う簡単な方法はありますか?

4

3 に答える 3

4

番号だけが必要な場合:

find . -type d -name 'example*' | egrep -o "[0-9]+"

ただし、フォルダ名と番号の対応を知りたい場合は、次のようにします。

for f in $(find . -mindepth 1 -maxdepth 1 -type d -name 'example*')
do
   number=${f#example}
done

文字列replacebashismで更新されました。

于 2012-08-13T09:49:31.453 に答える
2

これを試して:

for DIR in /path/to/search/example*; do
  if [ ! -d $DIR ]; then continue; fi
  NUMBER=$(echo $DIR | grep -Eo '[0-9]+$')
  pushd $DIR
    # Do stuff here
  popd
done
于 2012-08-13T09:51:30.883 に答える
2
find . -name "example*" -type d | awk -F"example" '{print $NF}'
于 2012-08-13T09:53:21.410 に答える