grep命令用于查找文件里符合条件的字符串
grep一般格式:grep 【选项】基本正则表达式 【文件】
常用grep选项有:
-c:只输出匹配行的个数
-i:不区分大小写(只适用于单字符)
-h:查询多文件时不显示文件名
-l:查询多文件时只输出包含匹配字符的文件名
-n:显示匹配行及行号
示例1:查找多个文件
grep "wujiadong" *.doc
所有doc文件中查找字符串 wujiadong
示例2:行匹配
[wujiadong@hcu05 linux_peixun]$ grep -c "GO" bb.txt
996
在bb.txt文件中有996行 包括了字符串GO
示例3:显示匹配行及行号
[wujiadong@hcu05 linux_peixun]$ grep -n "GO" bb.txt|head -2
1:id baseMean baseMean_Sample_A baseMean_Sample_B foldChange log2FoldChangepval padj up_down length gene_id gene gene_product GO_id GO_term pathway pathway_description
2:NM_000060.3 362.708466415454 19.5140148148337 705.902918016074 36.1741509737647 5.17688725123487 2.39864855539595e-06 0.000970977033299914 Up 2084 686 BTD biotinidase, transcript variant 3 GO:0004075,GO:0005576,GO:0005615,GO:0005730,GO:0005759,GO:0006766,GO:0006767,GO:0006768,GO:0007417,GO:0008544,GO:0043204,GO:0044281,GO:0045177,GO:0047708 biotin carboxylase activity|extracellular region|extracellular space|nucleolus|mitochondrial matrix|vitamin metabolic process|water-soluble vitamin metabolic process|biotin metabolic process|central nervous system development|epidermis development|perikaryon|small molecule metabolic process|apical part of cell|biotinidase activity path:hsa00780,path:hsa01100,path:hsa04977 Biotin metabolism|Metabolic pathways|Vitamin digestion and absorption
行数输出在第一列,后跟包含GO的每一匹配行
示例4:显示非匹配行
[wujiadong@hcu05 linux_peixun]$ grep -v "GO" bb.txt|head -2
NM_000558.3 35.0517311014878 0 70.1034622029756 Inf Inf 0.00593032393640629 0.314482689288408 Up 576 3039 HBA1 hemoglobin, alpha 1 path:hsa05143,path:hsa05144 African trypanosomiasis|Malaria
NM_001077690.1 166.495722732067 0 332.991445464134 Inf Inf 3.18349556556281e-07 0.000179691649223058 Up 6137 79796 ALG9 ALG9, alpha-1,2-mannosyltransferase, transcript variant 2 path:hsa00510,path:hsa01100 N-Glycan biosynthesis|Metabolic pathways
显示不包括GO的前两行
示例5:精确匹配
[wujiadong@hcu05 linux_peixun]$ grep 'Jason\>' f1.csv
102,Jason Smith,IT Manager
在抽取字符串后加 \> 精确匹配Jason。
示例6:大小写敏感,加-i
grep -i 'sept' data.txt
grep与正则表达式
示例1