我有名为的文件夹:
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
有任何简单的方法吗?
答案 0 :(得分: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
更新了字符串替换bashism。
答案 1 :(得分: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
答案 2 :(得分:2)
find . -name "example*" -type d | awk -F"example" '{print $NF}'