将一种类型的多个文件复制到shell中的另一个目录中

时间:2011-02-13 01:25:51

标签: shell

我正在尝试将保存在一个目录中的“.sh”的所有文件复制到另一个目录中。

我可以使用

复制整个目录
cp -rp ~/Documents/ToCopy ~/Documents/CopyToHere

但我无法弄清楚如何只选择.sh文件

是否还有更改复制文件的文件名?

3 个答案:

答案 0 :(得分:3)

cp -rp ~/Documents/ToCopy/*.sh ~/Documents/CopyToHere

*是一个通配符,表示文件名中的任意数量的字符,因此*.sh匹配该目录中以 sh 结尾的任何文件。

我很确定通配符(*)是由shell本身解析的,而不是cp命令解析的(所以请注意,如果你从某个不是a的地方调用它)壳)。

答案 1 :(得分:0)

您可以尝试输入

cp -rp ~/Documents/*.sh ~/Documents/CopyToHere

* .sh使用正则表达式选择名称以“.sh”结尾的目录中的所有文件。另一个例子是,您可以通过在命令行上键入*pizza*来复制名称中包含单词“pizza”的所有文件。

答案 2 :(得分:0)

您是否尝试*.sh,以便拥有cp ~/Documents/*.sh ~/Documents/CopyToHere?这应该有用......