我想将具有多个扩展名的文件复制到单个目标目录。
例如,我可以使用以下命令将工作目录中的所有.txt文件复制到名为的目录中destination
:
cp -v *.txt destination/
我可以使用以下命令将工作目录中的所有.png目录复制到destination
:
cp -v *.png destination/
但是将这些命令键入为单独的命令非常耗时(即使使用命令历史记录也是如此)。因此,有什么办法可以告诉我cp
将带有模式*.txt
或模式的文件复制*.png
到destination
?理想情况下,我想能够指定两个以上的模式-就像指导cp
复制所有*.txt
或 *.png
或 *.jpg
文件destination
,例如。
我确信使用shell脚本可以实现所有这些功能-bash
例如,我正在使用-但是有什么方法可以更简单地仅通过控制台来完成它吗?我能以某种方式使用括号扩展来做到这一点吗?
我知道这是可能的所有文件复制除了匹配某些特定模式的工作目录,但由于我的工作目录含有更多的文件扩展名,我不希望比我复制这样做,那将是一个痛苦。
您对此有什么想法吗?
大括号扩展将完成工作。man bash
并搜索Brace Expansion
。
cp *.{txt,jpg,png} destination/
编辑:
为了符合OP的要求,上面的命令缺少详细选项:
cp -v *.{txt,jpg,png} destination/
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句