为了演示“通配符”字符的使用,请发出命令在当前目录中创建以下空文件:
a1 a11 a123 a1234 a23 a22 a3 1 11 123
有人告诉我用 touch 命令为他执行此操作。我尝试“触摸[*] [1-123]”但没有成功。请给我任何解决方案
答案1
您不能使用文件名通配模式来生成文件名,除非该模式与现有文件名匹配。
做touch a*[123]
(或任何通配模式)空的一般情况下目录下只会创建文件a*[123]
。
另一方面,大括号扩展在命令行上生成字符串,而无需查找文件系统中的现有名称。
因此,根据“通配符”的含义,这可能会也可能不会完成。
您可能会告诉您的朋友,如果弄清楚如何安排正确的大括号扩展来创建文件名比在命令行上实际输入文件名需要更长的时间,那么最好直接按字面输入文件名。大括号扩展应该是捷径。
但是,如果文件名更统一一点,例如
1 12 123 a1 a12 a123 a11 a22 a33
那么你可以使用
$ touch {,a}1{,2{,3}} a{11,22,33}
答案2
是的,按如下方式使用。
touch a{1,3,11,22,23,123,1234} {1,11,123}
如果您有像 0、10、20、30 这样的常规序列,则可以使用以下命令轻松完成。
touch a{0..30..10}