背景
在Linux中,您可以:
- 列出一组文件
ls Filename*
- 使用以下命令删除一组文件
rm Filename*
- 使用移动文件组
mv Filename* /New/Directory
- 但是您不能使用以下命令复制一组文件:
cp Filename* *.bak
更改Linux cp
命令以复制文件组
我有一组文件要复制,而不用一个cp
命令一个个地输入名称:
$ ls gmail-meta3*
gmail-meta3 gmail-meta3-REC-1558392194-26467821
gmail-meta3-LAB-1558392194-26467821 gmail-meta3-YAD-1558392194-26467821
如何使用类似旧DOS命令的内容copy gmail-meta3* *.bak
?
我不想四次键入类似的命令:
cp gmail-meta3-LAB-1558392194-26467821 gmail-meta3-LAB-1558392194-26467821.bak
我正在寻找一个接受旧文件名和新文件名组参数的脚本/函数/应用程序,而不接受带有硬编码文件名的文件。例如,用户可以键入:
copy gmail-meta3* *.bak
或者他们可以输入:
copy gmail-meta3* save-*
touch aa ab ba; mkdir bb; cp a* b*; ls *
*
对源文件名使用通配符,但对目标文件名不能使用通配符。因此,必须将替代通配符(我认为##
是建议使用,但我倾向于%
)用于目标。我认为这就是您要加强的?我没想到根本不会更改cp
命令。只需创建一个称为wrapper脚本的脚本即可(copy
出于某种原因)模拟DOS复制命令。