- 搜索包含特定模式的文本行:
grep "pattern" filename
- 也可以像下面从stdin中读取:
echo -e "This is a word. \n next line ." |grep word
- 单个grep命令也可以对多个文件进行搜索:
grep "match_text" file1 file2 file3 ...
- 用--color选项可以在输出行中着重标记匹配到的单词:
grep word filename --color=auto
- grep 命令只解释match_text中的某些特殊字符串。如果需要是用正则表达式,需要添加-E选项,或者使用egrep 。
grep -E "[a-z]+" filename
或
egrep "[a-z]+" filename
- 只输出文件中匹配到的文本内容,可以使用选项-o:
echo "This is a line ." | egrep -o "[a-z]+."
- 要打印除包含match_pattern行之外的所有行,可使用:
grep -v match_pattern file
- 统计文件或文本中包含匹配字符串的行数:
grep -c "text" filename
echo -e "1 2 3 4\nhello\n5 6" |egrep -c "[0-9]"
- 要文件中拥挤匹配项的数量,可以使用如下的技巧:
echo -e "1 2 3 4 \nhello\n5 6"|egrep -o "[0-9]" |wc -l
- 打印出包含匹配字符串的行号:
cat sample1.txt
gun is not unix
linux is fun
bash is art
cat sample2.txt
planetlinux
grep linux -n sample1.txt sample2.txt
- 打印模式匹配所位于的字符或字节偏移:
echo gun is not unix | grep -b -o "not"
- 搜索多个文件并找出匹配文本位于哪一个文件中:
grep -l linux sample1.txt sample2.txt
- 忽略样式中大小写
echo Hello world |grep -i "hello"
- 在grep搜索中指定或排除文件
目录中递归搜索所有的.c和.cpp文件
grep "main()" . -r --include *.{c,cpp}
在搜索中排除所有README文件:
grep "main()" . -r --exclude "README"
如果需要排除目录,可以使用--exclude-dir 选项。
如果需要从文件中读取所需排除的文件列表,使用--exclude-from FILE
- 使用0值字节作为后缀
用grep在文件中搜索文本
时间: 2024-12-26 20:55:31
用grep在文件中搜索文本的相关文章
第十六章 在文件中搜索文本工具:grep命令 和egrep命令
第十六章 在文件中搜索文本工具:grep命令 和egrep命令 名词解释 grep(global search regular expression(RE)and print out the line,全面搜索正则表达式并把行打印出来) grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. 选项 - -a :不要忽略二进制数据 - -A <显示行数>:除了显示符合范本样式的那一行之外,并显示该行之后的内容. - -b :在显示符合范本样式的那一行之外,并显示该行
shell脚本--在带本月日期的文件中搜索包含某个关键字,并返回含有关键字的文件
因为工作中每天都需要根据某个关键字,在包含每天日期的一批文件中搜索某个关键字,找出这批文件中包含关键字的文件,并返回文件名.本程序涉及:find命令,date命令,if循环,$符号的意义(本程序涉及在bash脚本和命令行中意义) 脚本名为h.sh,脚本运行:例如:我们想搜索jack在不在本月的黑名单中,就这样执行脚本:sh h.sh jack, # cat h.sh 1 #!/bin/sh 2 sdate=`date +%Y%m` 3 dir=`find ./ -name "BLACKLIST_
Java读写文件,在文件中搜索内容,并输出含有该内容的所有行
1.问题描述 在一个目录及子目录下查找 TXT或Java文件,从中搜索所有"对象"字样的行. 在D盘中的所有文件中搜索含有"对象"的行. 2.解题思路 先找出D盘下所有文件 再对每个文件中的每行内容进行,进行查找,若含有"对象"两字,输出该行. 3.程序代码 import java.io.File; import java.io.IOException; import java.util.Scanner; public class B { sta
Rhel7 grep在文件中查找指定的字符串,将其输出到指定文件
Rhel7 grep在文件中查找指定的字符串,将其输出到指定文件 [[email protected] findfiles]# cat /usr/share/dict/words |grep seismic anaseismic antiseismic aseismic -- [[email protected] findfiles]# cat /usr/share/dict/words |grep seismic >>/root/wordlist [[email protected] fin
替换文件中的文本
大小写区分替换: 对于替换后出现编码的: 尝试模式而非纯文本: 替换跨行文本: 1>没有捕获空白 2> 使用$1捕获空白 替换大文件中的文本: 一些补充: get-content命令将文件的内容分割成多行: 可以使用[System.Io.File]::ReadAllText()方法将整个文本作为字符串赋给变量 \s* //匹配0个或多个空格 (?s) //代表单行模式 $1 //捕获的空白内容 大文件中的替换:比如几百兆的文件 前面几种会加重内存负担,此时因采用单行读入的方式进行操作
python 之文本搜索与替换文件中的文本
1 #!/usr/local/env python 2 import os, sys 3 nargs = len(sys.argv) 4 if not 3 <= nargs <= 5: 5 print "usage: %s search_text replace_text [inputfiel [outputfile]] " % os.path.basename(sys.argv[0]) #友好交互性提示 6 else : 7 stext = sys.argv[1] #获取
使用正则表达式配合文本搜索工具Grep以及Egrep快速搜索文本
正则表达式: 计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本. 正则表达式由两类组成: 基本正则表达式与扩展正则表达式 基本正则表达式: 字符匹配 .:匹配单个字符 []:匹配指定集合中的任意单个字符 [:digit:]:所有数字(0-9) [:lower:]:所有小写字母(a-z) [:upper:]:所有大写字母(A-Z) [:space:]:空白符 [:punct:]:特殊字
Linux:从文件中搜索关键字并显示行数(cat,grep函数)
假如有test1.txt的格式如下图所示: 有test2.txt的内容如下: 现需将test2.txt含有的关键字的行搜索出来并显示行数 则可以用到命令: cat test1.txt | grep -nf test2.txt 运行后,效果如下: 36840733和36909134表示含有这两个关键字所在的行数.
提取PDF文件中的文本信息
转载请注明出处:http://blog.csdn.net/xiaojimanman/article/details/43527755 我们从网上下载的PDF文件有的是加密处理过的,无法复制其中的内容,对于这类文件的内容提取可以通过该工具实现 PDF加密 PDF文件经过加密处理之后是无法简单的复制的,PDF文件的属性也如下图所示: 工具的使用方法 软件的目录结构如下图: lib文件夹下是程序的运行环境和代码: pdf文件夹是需要转化的pdf文件所在的文件夹: txt文件夹是转化后生成的txt文件所