首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将文件从以数字结尾的etc复制到test1目录

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

Stack Overflow用户
提问于 2021-04-25 12:10:57
回答 2查看 48关注 0票数 0

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

代码语言:javascript
运行
复制
find /etc -type f -iname "*[3-9]" -exec cp {} ../test1/ \;
EN

回答 2

Stack Overflow用户

发布于 2021-04-25 12:28:27

这应该适用于您的home directory files ending with digit

代码语言:javascript
运行
复制
mv `ls . |grep -Eo  "^.*[0-9]$"` your-directory

假设在当前目录中有一些文件,如ofjweifhwef9或kfhiofeh8 (以数字结尾的文件)

所以ls会把它们列出来。

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

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

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

代码语言:javascript
运行
复制
mv: missing destination file operand after './your-directory'
票数 1
EN

Stack Overflow用户

发布于 2021-04-25 12:52:10

这可能是因为/etc是您正在使用的系统中的一个链接,而find似乎不会将其视为路径,直到您在末尾添加一个额外的/。试着这样做:

代码语言:javascript
运行
复制
find /etc/ -type f -iname "*[3-9]" -exec cp {} ../test1/ \;

注意/etc/而不是/etc。我在我的Mac上得到了相同的行为,其中/etc是到另一个目录的链接。

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

代码语言:javascript
运行
复制
find /etc/ -type f -iname "*[3-9]"

如果不这样做,则没有任何文件可供复制。您也可以尝试:find /etc/来查看目录树下的所有文件。

最后,如果只想复制/etc/目录中的文件,而不是复制/etc/目录下目录树中匹配的所有文件,则可能需要添加选项:-depth 1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67249697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档