在 bash 中使用通配符匹配目录

在 bash 中使用通配符匹配目录

假设文件夹结构如下:

/home/
--user1/asdf
--user2/asdf1234
--user3/asdf325234
--cool/asdf

如何在不指定用户的情况下更改为 asdf1234?例如:

cd /home/*/asdf1234

如何在 bash 中使用“not”?例如,假设我想去/home/cool但不使用功能:

cd /home/!user*/asdf这可能吗?

这些 bash 技巧可能吗?

答案1

打开extglobshell 选项,然后cd /home/!(user*)/asdf

答案2

您可以使用以下命令更改到 asdf1234 目录,而无需指定用户名:

cd $(find . -name asdf1234 -type d | sed 1q)

sed 1q确保只有一个目录名作为参数传递给cd.

相关内容