我想将几个文件从一个文件夹复制到另一个文件夹.我如何从shell命令提示符执行此操作?
考虑到folder1
包含10个文件(例如file1
,file2
,abc
,xyz
,等).我目前正在执行以下操作,以便将两个文件从一个文件夹复制到另一个文件夹:
cp /home/ankur/folder/file1 /home/ankur/folder/file2 /home/ankur/dest
Run Code Online (Sandbox Code Playgroud)
在两个文件的命令行中键入完整路径很烦人.
我想到的是正则表达式,但我不知道该怎么做.
任何帮助都会降低我的RSI ;-)
Ken*_*ent 32
我想你正在寻找大括号扩展:
cp /home/ankur/folder/{file1,file2} /home/ankur/dest
Run Code Online (Sandbox Code Playgroud)
看看这里,如果你想要处理多个文件,它会对你有所帮助:
http://www.tldp.org/LDP/abs/html/globbingref.html
Bar*_*mar 12
使用通配符:
cp /home/ankur/folder/* /home/ankur/dest
Run Code Online (Sandbox Code Playgroud)
如果您不想复制所有文件,可以使用大括号选择文件:
cp /home/ankur/folder/{file{1,2},xyz,abc} /home/ankur/dest
Run Code Online (Sandbox Code Playgroud)
这将复制file1
,file2
,xyz
,和abc
.
您应该阅读bash
有关Brace Expansion和Pathname Expansion的手册页的各个部分,以了解所有可以简化此操作的方法.
你可以做的另一件事是cd /home/ankur/folder
.然后,您只需键入文件名而不是完整路径名,您可以通过键入来使用文件名完成Tab.
您可以在 bash 中使用大括号扩展:
cp /home/ankur/folder/{file1,abc,xyz} /path/to/target
Run Code Online (Sandbox Code Playgroud)