Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 将以数字结尾的文件从etc复制到test1目录_Linux_Cp - Fatal编程技术网

Linux 将以数字结尾的文件从etc复制到test1目录

Linux 将以数字结尾的文件从etc复制到test1目录,linux,cp,Linux,Cp,我是linux新手,作为练习者,我需要将以数字结尾的“etc”文件从主目录复制到test1目录 (用一个命令)。 我试过了,但没用 find /etc -type f -iname "*[3-9]" -exec cp {} ../test1/ \; 这适用于以数字结尾的主目录文件 mv `ls . |grep -Eo "^.*[0-9]$"` your-directory 假设在当前目录中有一些文件,如ofjweifhwef9或KFIOFEH8(以数

我是linux新手,作为练习者,我需要将以数字结尾的“etc”文件从主目录复制到test1目录 (用一个命令)。 我试过了,但没用

find /etc -type f -iname "*[3-9]" -exec cp {} ../test1/ \;

这适用于以数字结尾的
主目录文件

mv `ls . |grep -Eo  "^.*[0-9]$"` your-directory
假设在当前目录中有一些文件,如ofjweifhwef9或KFIOFEH8(以数字结尾的文件)

因此,
ls
将列出它们

grep表达式“^.[0-9]$”`将仅查找以数字结尾的文件(因为在您的主目录系统中不允许有这样的文件“/etc/somefile123”)

然后,mv将这些文件移动到您的目录中

注意:-如果grep找不到以数字结尾的文件,您当然会看到一个错误,因为mv需要2个操作数,但由于没有操作数,所以会出现错误。

mv: missing destination file operand after './your-directory'

这可能是因为<代码> /ETC < /COD>是您正在使用的系统中的一个链接,而<>代码>查找< /C>在最后添加一个额外的<代码> /< /代码>时,它似乎不认为是一个路径。请尝试以下方法:

find /etc/ -type f -iname "*[3-9]" -exec cp {} ../test1/ \;
注意
/etc/
而不是
/etc
。我在Mac电脑上也有同样的行为,/etc是指向另一个目录的链接

当然,还要确保在
/etc/
目录树下有以数字结尾的文件。我的mac电脑里没有。运行时,您应该会得到一些文件:

find /etc/ -type f -iname "*[3-9]"
如果没有,则没有任何文件可复制。您也可以尝试:
find/etc/
查看目录树下的所有文件


最后,如果只想复制
/etc/
目录中的文件,而不是
/etc/
下目录树中匹配的所有文件,则可能需要添加选项:
-depth 1
。“etc文件”是什么意思?
/etc/
中的文件?那为什么是你的主目录?你需要考虑子问题吗?我的解决方案有帮助吗?