Linux查找特定文件并筛选特定行内容
在Linux中搜索特定文件并筛选特定行内容
本教程将演示如何在Linux系统中使用 grep 和 awk 命令组合,查找特定路径下特定文件中包含特定字符串且该字符串位于特定行的文件。
场景:
假设您需要在 /mnt/hpc/home/zhengpu/srb/enzdes_1 路径下的所有文件夹中,找到所有名为 complex__DE_85.pdb 的文件,并筛选出这些文件中第7546行包含字符串 '40' 的文件。
解决方案:
您可以使用以下命令来实现:bashgrep -rnw '/mnt/hpc/home/zhengpu/srb/enzdes_1' -e '40' | grep 'complex__DE_85.pdb' | awk 'NR==7546'
命令解释:
-
grep -rnw '/mnt/hpc/home/zhengpu/srb/enzdes_1' -e '40': -grep: 用于查找文件中包含特定字符串的行。 --r: 递归搜索指定路径下的所有子目录。 --n: 显示匹配行的行号。 --w: 只匹配整个单词,避免匹配到包含目标字符串的单词。 -/mnt/hpc/home/zhengpu/srb/enzdes_1: 指定要搜索的路径。 --e '40': 指定要搜索的字符串为 '40'。 -
grep 'complex__DE_85.pdb': - 从grep命令的输出中筛选出文件名包含complex__DE_85.pdb的结果。 -
awk 'NR==7546': -awk: 一种文本处理工具,可以根据指定规则筛选、处理文本。 -NR==7546: 只输出当前处理文件的第7546行。
注意:
- 确保您拥有访问指定路径及其下所有文件和文件夹的权限。- 如果没有足够的权限,您可能需要使用
sudo命令以管理员身份运行该命令。
希望本教程能够帮助您在Linux系统中高效地搜索和筛选文件内容!
原文地址: https://www.cveoy.top/t/topic/latK 著作权归作者所有。请勿转载和采集!