Linux 搜索所有文件内容截取所需记录
2017-01-10 21:54
246 查看
由于一些需求需要,遍历某目录先所有文件,找出某行的关键信息。
如:搜索所有 jsp 文件的内容,找出"spring:message"所在行,并取引号内的字符串。
(如下图,取粉色框中的字符串)
第一步,遍历文件:
find -name "*.jsp"
第二步输出所有文件内容,太多了!所以直接过滤关键字行。
find -name "*.jsp" -print -exec cat {} \; | grep "spring:message"
第三步,把每行前面的空字符去掉
find -name "*.jsp" -print -exec cat {} \; | grep "spring:message" | sed -e 's/^[ \t]*//'
find -name "*.jsp" -print -exec cat {} \; | grep "spring:message" | sed 's/[[:space:]]//g'
第四步,按双引号分割行,取第二列(比较有规律!)
find -name "*.jsp" -print -exec cat {} \; | grep "spring:message" | sed 's/[[:space:]]//g' | cut -d"\"" -f2
第五步排除有某些字符的行(如排除右大括号的行)
find -name "*.jsp" -print -exec cat {} \; | grep "spring:message" | sed 's/[[:space:]]//g' | cut -d"\"" -f2 | grep -v "}"
第六步,排序并去重复行
find -name "*.jsp" -print -exec cat {} \; | grep "spring:message" | sed 's/[[:space:]]//g' | cut -d"\"" -f2 | grep -v "}" | sort -u
完成!
另:搜索某目录下所有文件内容,找出关键字所在的行,同时输出所在文件及行内容
grep "spring:message" ./*
如:搜索所有 jsp 文件的内容,找出"spring:message"所在行,并取引号内的字符串。
(如下图,取粉色框中的字符串)
第一步,遍历文件:
find -name "*.jsp"
第二步输出所有文件内容,太多了!所以直接过滤关键字行。
find -name "*.jsp" -print -exec cat {} \; | grep "spring:message"
第三步,把每行前面的空字符去掉
find -name "*.jsp" -print -exec cat {} \; | grep "spring:message" | sed -e 's/^[ \t]*//'
find -name "*.jsp" -print -exec cat {} \; | grep "spring:message" | sed 's/[[:space:]]//g'
第四步,按双引号分割行,取第二列(比较有规律!)
find -name "*.jsp" -print -exec cat {} \; | grep "spring:message" | sed 's/[[:space:]]//g' | cut -d"\"" -f2
第五步排除有某些字符的行(如排除右大括号的行)
find -name "*.jsp" -print -exec cat {} \; | grep "spring:message" | sed 's/[[:space:]]//g' | cut -d"\"" -f2 | grep -v "}"
第六步,排序并去重复行
find -name "*.jsp" -print -exec cat {} \; | grep "spring:message" | sed 's/[[:space:]]//g' | cut -d"\"" -f2 | grep -v "}" | sort -u
完成!
另:搜索某目录下所有文件内容,找出关键字所在的行,同时输出所在文件及行内容
grep "spring:message" ./*
相关文章推荐
- Linux 搜索所有文件内容截取所需记录
- [linux]查找当前目录下所有文件内容是否包含某字符
- linux 搜寻文件及所有子目录下的文件里的内容
- linux-sed命令: 批量替换某文件夹下所有文件里的某段内容
- 怎么在eclipse中使用search搜索所有的文件中的某些特定内容
- C# 二进制文件操作(内容搜索、数据截取)
- find搜索目录下所有文件内容中的某个单词
- linux下c语言实现搜索根目录下所有文件
- linux 截取文件内容脚本
- Linux学习记录--文件内容查阅
- linux 批量替换文件内容及查找某目录下所有包含某字符串的文件(批量修改文件内容)
- 一句话记录下 linux下 批量将 文件内容编码 转换下
- linux c 文件内容搜索小工具
- linux grep 按字符搜索文件内容
- Linux学习记录--文件内容查阅
- Linux下搜索所有文件,并删除文件,保留目录
- C# 自动查找文件内容(正则使用、获取目录下所有文件、多线程、日志记录,文件操作)
- Python_删除/创建指定目录及其下所有子目录的文件,该文件记录当前文件夹的内容
- linux下批量修改目录下所有文件夹、文件名称及文件内容
- linux获取当前路径下所有子文件夹的文件内容