前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux在所有文件中查找某一个字符

linux在所有文件中查找某一个字符

作者头像
allsmallpig
发布2021-02-25 11:25:35
1.8K0
发布2021-02-25 11:25:35
举报
文章被收录于专栏:allsmallpi博客

转载自 https://www.cnblogs.com/wangkongming/p/3852328.html

代码语言:javascript
复制
# find  -type f -name "*.c" | xargs grep ""

是你要找的文件夹;如果是当前文件夹可以省略
-type f 说明,只找文件
-name "*.c"  表示只找C语言写的代码,从而避免去查binary;也可以不写,表示找所有文件
是你要找的某个字符串

sudo find -type f -name '*'|xargs grep 'ssi on'

----------------------------------------------------------------------------------------------------------------------------------

进入到logs日志目录,执行类似以下的命令:

cat -n catalina.out |grep '053574ccc432403c9762ac1372a7c7'  (catalina.out 可以替换为文件名)

便可得到053574ccc432403c9762ac1372a7c7出现的日志输出语句,可见下图

————————————————————————————————————————————————————

linux查看日志文件内容命令tail、cat、tac、head、echo

linux查看日志文件内容命令tail、cat、tac、head、echo

tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C,

--------------------------- linux 如何显示一个文件的某几行(中间几行)

从第3000行开始,显示1000行。即显示3000~3999行 cat filename | tail -n +3000 | head -n 1000

显示1000行到3000行 cat filename| head -n 3000 | tail -n +1000

*注意两种方法的顺序 分解: tail -n 1000:显示最后1000行 tail -n +1000:从1000行开始显示,显示1000行以后的 head -n 1000:显示前面1000行

用sed命令 sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。

例:cat mylog.log | tail -n 1000 #输出mylog.log 文件最后一千行

---------------------------cat主要有三大功能:1.一次显示整个文件。 cat filename2.从键盘创建一个文件。 cat > filename 只能创建新文件,不能编辑已有文件.3.将几个文件合并为一个文件:

把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。 cat -b textfile1 textfile2 >> textfile3 把test.txt文件扔进垃圾箱,赋空值test.txt cat /dev/null > /etc/test.txt  注意:>意思是创建,>>是追加。千万不要弄混了。 ------------------------------------------ tac (反向列示) tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上, 而 tac 则是由最后一行到第一行反向在萤幕上显示出来!

------------------------------------------ 在Linux中echo命令用来在标准输出上显示一段字符,比如: echo "the echo command test!"

这个就会输出“the echo command test!”这一行文字!

echo "the echo command test!">a.sh 这个就会在a.sh文件中输出“the echo command test!”这一行文字!  该命令的一般格式为: echo [ -n ] 字符串其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。 用echo命令输出加引号的字符串时,将字符串原样输出; 用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

----------------------------------------------------------------------------------------------------------------------------------

Linux查找含有某字符串的所有文件

转自:http://151wqooo.blog.51cto.com/2610898/1162118

如果你想在当前目录下 查找"hello,world!"字符串,可以这样:

grep -rn "hello,world!" *

* : 表示当前目录所有文件,也可以是某个文件名

-r 是递归查找

-n 是显示行号

-R 查找所有文件包含子目录

-i 忽略大小写

下面是一些有意思的命令行参数:

grep -i pattern files :不区分大小写地搜索。默认情况区分大小写, 

grep -l pattern files :只列出匹配的文件名, 

grep -L pattern files :列出不匹配的文件名, 

grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’), 

grep -C number pattern files :匹配的上下文分别显示[number]行, 

grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行, 

grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。 

这里还有些用于搜索的特殊符号:

\< 和 \> 分别标注单词的开始与结尾。

例如: 

grep man * 会匹配 ‘Batman’、‘manic’、‘man’等, 

grep '\

grep '\' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。 

'^':指匹配的字符串在行首, 

'$':指匹配的字符串在行尾,  

2,xargs配合grep查找

find -type f -name '*.php'|xargs grep 'GroupRecord'

---------------------------------------------------------------------------------------------------------------------------------------------

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/06/08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • linux查看日志文件内容命令tail、cat、tac、head、echo
  • Linux查找含有某字符串的所有文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档