Linux 命令:查找包含关键字并复制到指定文件
使用以下命令可以在 /www/wwwroot/a 目录下查找所有后缀为 .txt 的文件,并将包含关键字的行复制到 /www/wwwroot/a/file.txt 中:
find /www/wwwroot/a -name '*.txt' -exec sh -c 'grep -qE '圣|龙|香港|澳门|预言' '$1' && grep -E '圣|龙|香港|澳门|预言' '$1' >> /www/wwwroot/a/file.txt' sh {} \;
该命令解析如下:
find /www/wwwroot/a -name '*.txt': 查找/www/wwwroot/a目录下所有后缀为.txt的文件。-exec sh -c ... sh {} \;: 对找到的文件执行命令,{}代表当前文件名。grep -qE '圣|龙|香港|澳门|预言' '$1': 静默模式查找文件内是否包含关键字圣|龙|香港|澳门|预言,其中$1代表当前文件名。&&: 如果grep -qE找到匹配结果,则执行后面的命令。grep -E '圣|龙|香港|澳门|预言' '$1' >> /www/wwwroot/a/file.txt: 查找文件内包含关键字圣|龙|香港|澳门|预言的行,并将结果追加到/www/wwwroot/a/file.txt文件中。
该命令可以有效地将包含特定关键字的行提取到单独的文件中,方便后续处理和分析。
原文地址: https://www.cveoy.top/t/topic/oyjR 著作权归作者所有。请勿转载和采集!