gpt4 book ai didi

regex - linux递归复制指定的文件不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 10:36:47 24 4
gpt4 key购买 nike

我想递归复制目录data中所有以字母开头的文件到目录test。所以我写了这个:

find data -type f -exec grep '^[a-z]' {} \; -exec cp -f {} ./test \;

但是,它也匹配其他文件。

代码有什么问题?

最佳答案

您的命令未执行 grep在文件名上,而是在这些文件的内容上。

你说:

copy all the files which start with letters in directory

这将使用 find命令匹配需要 -name 的文件名选项。例如,

find data -type f -name '[a-z]*'

通过使用 -exec选项来查找,而不是在 grep '^[a-z]' {} 的每个文件上执行提供的命令 ( find )在数据目录中查找,因为没有文件名匹配子句 ( -name )。

您可能需要的命令是:

find data -type f -name '[a-z]*' -exec cp -f {} ./test \;

关于regex - linux递归复制指定的文件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37017969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com