我正在尝试将保存在一个目录中的“.sh”的所有文件复制到另一个目录中。
我可以使用
复制整个目录cp -rp ~/Documents/ToCopy ~/Documents/CopyToHere
但我无法弄清楚如何只选择.sh文件
是否还有更改复制文件的文件名?
答案 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
?这应该有用......