我正在寻找shell中的简单解决方案来自动执行脚本,所有主机中的文件夹名称都不同,唯一的技巧是顶级文件夹名称是带下划线和连字符的数字。为了切换到没有字母的目录,我无法做出好的正则表达式。任何猜测(除了extglob或仅使用shell通配符模式),肯定会帮助我。
例如;如何使用通配符模式切换到cd /home/user/123_456-56_12XyDf89/
,以便我可以避免切换到wget
谢谢!提前。
答案 0 :(得分:0)
可以使用child_div
:
find
请注意,cd `find -maxdepth 1 -type d -regex '\./[!_0-9]+'`
必须匹配整个文件名,包括目录部分。
答案 1 :(得分:0)
只需一个简单的循环:
numericdir () {
for f in "$1${1+/}"*/; do
case ${f#$1/} in *[!-0-9_]*/) continue;;
*) echo "$f"; break;;
esac
done
}
cd "$(numericdir)"
您可以传入一个目录参数来查找该目录的数字子目录。