2017-04-04 220 views
0

请帮我在这里:将文件移动到另一个文件夹,就可以替换操作

我使用下面的命令来搜索并替换字符串的文件在目录(包括子目录):

find . -type f -exec perl -api -e 's/\b(?!00)[A-Z0-9]{6,}/dummy/g' {} \; 

我想这是对文件执行上述操作后是什么,我想同时将其移动到另一个文件夹,然后在接下来的文件工作。

任何帮助表示赞赏。

感谢

回答

1

你可以试试这个:

find . -type f -exec perl -api -e 's/\b(?!00)[A-Z0-9]{6,}/dummy/g' {} \; -exec mv {} /to/this/directory \; 

第一-exec谓词成功完成后,find运行下-execThis对相关问题的回答会给你更多的信息。

+0

谢谢......那个作品! –

+0

没问题。我很高兴这有帮助。 –

1

我想什么是对文件执行上述操作后,我想同时将其移动到另一个文件夹,然后在接下来的文件工作。

你可以这样做:

while IFS= read -rd '' file; do 
    perl -ap -e 's/\b(?!00)[A-Z0-9]{6,}/dummy/g' "$file" > "/dest/$file" 
done < <(find . -type f -print0) 

这也将照顾的文件与白空格和特殊字符。

相关问题