![如何使用双通配符移动多个文件夹?](https://linux22.com/image/1021799/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%8F%8C%E9%80%9A%E9%85%8D%E7%AC%A6%E7%A7%BB%E5%8A%A8%E5%A4%9A%E4%B8%AA%E6%96%87%E4%BB%B6%E5%A4%B9%EF%BC%9F.png)
答案1
引号内的 Glob 不会展开 - 你需要类似
./*".txt)(1)(m"*
或者
./*.txt")(1)("m*
或者
./*.txt\)\(1\)\(m*
答案2
这是最不幸的目录名称选择,因为您需要在这些 shell 命令中使用一定程度的引号;但引号也会阻止通配符扩展。
但你可以将多个部分引用的字符串拼凑在一起;例如
mv *".txt)("1")(model"* /home/e1
或者简化为
mv *.txt??1??model* /home/e1
这假设您始终有 *.txt,然后是任意两个字符,然后是数字 1,然后是任意两个字符,然后是模型*,这应该可以很好地工作。
甚至改进它以接受全部一次输入数字:
mv *.txt??[0-9]??model* /home/e1
请注意,引号用于保护shell 中的特殊字符,但在这里你想通配符扩展。