linux中grep一列数据(Linux中使用grep命令搜索文件名及文件内容的方法)

:暂无数据 2026-09-01 05:10:02 :0

linux中grep一列数据(Linux中使用grep命令搜索文件名及文件内容的方法)

大家好,linux中grep一列数据相信很多的网友都不是很明白,包括Linux中使用grep命令搜索文件名及文件内容的方法也是一样,不过没有关系,接下来就来为大家分享关于linux中grep一列数据和Linux中使用grep命令搜索文件名及文件内容的方法的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

本文目录

Linux中使用grep命令搜索文件名及文件内容的方法

  从文件中搜索并显示文件名
  当你从不止一个的文件中搜索时,默认它将显示文件名:
  代码如下:
  grep
“word“
文件名
  grep
root
/etc/*
  示例输出:
  代码如下:
  /etc/bash.bashrc:
See
“man
sudo_root“
for
details.
  /etc/crontab:17
*
*
*
*
root
cd
/
&&
run-parts
--report
/etc/cron.hourly
  /etc/crontab:25
6
*
*
*
root
test
-x
/usr/sbin/anacron
||
(
cd
/
&&
run-parts
--report
/etc/cron.daily
)
  /etc/crontab:47
6
*
*
7
root
test
-x
/usr/sbin/anacron
||
(
cd
/
&&
run-parts
--report
/etc/cron.weekly
)
  /etc/crontab:52
6
1
*
*
root
test
-x
/usr/sbin/anacron
||
(
cd
/
&&
run-parts
--report
/etc/cron.monthly
)
  /etc/group:root:x:0:
  grep:
/etc/gshadow:
Permission
denied
  /etc/logrotate.conf:
create
0664
root
utmp
  /etc/logrotate.conf:
create
0660
root
utmp
  每行开始的第一个部分是文件名(如:/etc/crontab、/etc/group)。使用
-l
选项可以只显示文件名:
  代码如下:
  grep
-l
“string“
filename
  grep
-l
root
/etc/*
  示例输出:
  代码如下:
  /etc/aliases
  /etc/arpwatch.conf
  grep:
/etc/at.deny:
Permission
denied
  /etc/bash.bashrc
  /etc/bash_completion
  /etc/ca-certificates.conf
  /etc/crontab
  /etc/group
  你也可以逆转输出;使用
-L
选项来输出那些不匹配的文件的文件名:
  代码如下:
  grep
-L
“word“
filename
  grep
-L
root
/etc/*
  示例输出:
  代码如下:
  /etc/apm
  /etc/apparmor
  /etc/apparmor.d
  /etc/apport
  /etc/apt
  /etc/avahi
  /etc/bash_completion.d
  /etc/bindresvport.blacklist
  /etc/blkid.conf
  /etc/bluetooth
  /etc/bogofilter.cf
  /etc/bonobo-activation
  /etc/brlapi.key
  根据文件内容查找文件
  输入以下命令:
  代码如下:
  grep
’string’
*.txt
  grep
’main(’
*.c
  grep
’#include’
*.c
  grep
’getChar*’
*.c
  grep
-i
’ultra’
*.conf
  grep
-iR
’ultra’
*.conf
  其中
  -i
:
忽略模式(匹配字符串
valid、
VALID、
ValID
)和输入文件(匹配
file.c
FILE.c
FILE.C)的大小写。
  -R
:
递归读取每个目录下的所有文件。
  高亮匹配到的模式
  在搜索大量文件的时候你可以轻松地高亮模式:
  代码如下:
  $
grep
--color=auto
-iR
’getChar();’
*.c
  为查找到的模式显示文件名和行号
  你也许需要显示文件名和行号:
  代码如下:
  $
grep
--color=auto
-iRnH
’getChar();’
*.c
  其中,
  -n
:
在输出的每行前面添加以
1
开始的行号。
  -H
:
为每个匹配打印文件名。要搜索多个文件时这是默认选项。(LCTT
译注:-h
选项强制隐藏文件名;另外
-l
和
-L
选项用于仅显示匹配/不匹配的文件名,而
-H
和
-h用于控制在显示匹配行前显示/不显示文件名,注意区分。)
  代码如下:
  $grep
--color=auto
-nH
’DIR’
*
  输出样例:
  你也可以使用
find
命令:
  代码如下:
  $
find
.
-name
“*.c“
-print
|
xargs
grep
“main(“

linux命令里,grep * 是什么意思

任意一个字节 . 与重复字节 *
这两个符号在正则表达式的意义如下:
. (小数点):代表『一定有一个任意字节』的意思;
* (星号):代表『重复前一个字符, 0 到无穷多次』的意思,为组合形态

假设我需要找出 g??d 的字串,亦即共有四个字节, 起头是 g 而结束是 d ,我可以这样做:
[root@www ~]# grep -n ’g..d’ regular_express.txt
1:“Open Source“ is a good mechanism to develop programs.
9:Oh! The soup taste good.
16:The world 《Happy》 is the same with “glad“.

因为强调 g 与 d 之间一定要存在两个字节,因此,第 13 行的 god 与第 14 行的 gd 就不会被列出来啦!

如果我想要列出有 oo, ooo, oooo 等等的数据, 也就是说,至少要有两个(含) o 以上,该如何是好?
因为 * 代表的是『重复 0 个或多个前面的 RE 字符』的意义, 因此,『o*』代表的是:『拥有空字节或一个 o 以上的字节』,因此,『 grep -n ’o*’ regular_express.txt 』将会把所有的数据都列印出来终端上!
当我们需要『至少两个 o 以上的字串』时,就需要 ooo* ,亦即是:
[root@www ~]# grep -n ’ooo*’ regular_express.txt
1:“Open Source“ is a good mechanism to develop programs.
2:apple is my favorite food.
3:Football game is not use feet only.
9:Oh! The soup taste good.
18:google is the best tools for search keyword.
19:goooooogle yes!

如果我想要字串开头与结尾都是 g,但是两个 g 之间仅能存在至少一个 o ,亦即是 gog, goog, gooog.... 等等,那该如何?
[root@www ~]# grep -n ’goo*g’ regular_express.txt
18:google is the best tools for search keyword.
19:goooooogle yes!

如果我想要找出 g 开头与 g 结尾的行,当中的字符可有可无
[root@www ~]# grep -n ’g.*g’ regular_express.txt
1:“Open Source“ is a good mechanism to develop programs.
14:The gd software is a library for drafting programs.
18:google is the best tools for search keyword.
19:goooooogle yes!
20:go! go! Let’s go.

因为是代表 g 开头与 g 结尾,中间任意字节均可接受,所以,第 1, 14, 20 行是可接受的喔! 这个 .* 的 RE 表示任意字符是很常见的.

Linux下Grep命令的详细使用方法

在linux中grep命令是非常有用的,它和管道(|)配合使用,非常强大,用于搜索文本文件.如果想要在几个文本文件中查找一字符串,可以使用‘grep’命令。‘grep’在文本中搜索指定的字符串。
假设您正在‘/usr/src/linux/Documentation’目录下搜索带字符串‘magic’的文件:

$ grep magic /usr/src/linux/Documentation/*
sysrq.txt:* How do I enable the magic SysRQ key?
sysrq.txt:* How do I use the magic SysRQ key?

其中文件‘sysrp.txt’包含该字符串,讨论的是 SysRQ 的功能。

默认情况下,‘grep’只搜索当前目录。如果此目录下有许多子目录,‘grep’会以如下形式列出:

grep: sound: Is a directory

这可能会使‘grep’的输出难于阅读。这里有两种解决的办法:

明确要求搜索子目录:grep -r
或忽略子目录:grep -d skip
当然,如果预料到有许多输出,您可以通过 管道 将其转到‘less’上阅读:

$ grep magic /usr/src/linux/Documentation/* | less

这样,您就可以更方便地阅读。

有一点要注意,您必需提供一个文件过滤方式(搜索全部文件的话用 *)。如果您忘了,‘grep’会一直等着,直到该程序被中断。如果您遇到了这样的情况,按 《CTRL c》 ,然后再试。

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

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 ’\《man’ * 匹配‘manic’和‘man’,但不是‘Batman’,
grep ’\《man\》’ 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。
’^’:指匹配的字符串在行首,
’$’:指匹配的字符串在行尾,
如果您不习惯命令行参数,可以试试图形界面的‘grep’,如 reXgrep 。这个软件提供 AND、OR、NOT 等语法,还有漂亮的按钮 :-) 。如果您只是需要更清楚的输出,不妨试试 fungrep 。

linux grep命令

grep -li ’error’ --include=systemout.2012-11-*.log

--include用来通配你需要查找的文件名
======================================
======================================
我补充回答:
cd /home/tomcat/logs
grep -i ’error’ systemout.2012-11-*.log

这样总行了吧

关于linux中grep一列数据到此分享完毕,希望能帮助到您。

linux中grep一列数据(Linux中使用grep命令搜索文件名及文件内容的方法)

本文编辑:admin

更多文章:


issued retroactively(FORM E上盖“ISSUED RETROACTIVELY”的问题,小女在线等待)

issued retroactively(FORM E上盖“ISSUED RETROACTIVELY”的问题,小女在线等待)

各位老铁们,大家好,今天由我来为大家分享issued retroactively,以及FORM E上盖“ISSUED RETROACTIVELY”的问题,小女在线等待的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站

2026年10月15日 10:30

f发音是什么?printf的返回值是什么

f发音是什么?printf的返回值是什么

大家好,关于f很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于f发音是什么的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月15日 10:10

begin和start的区别(start与begin的区别)

begin和start的区别(start与begin的区别)

其实begin和start的区别的问题并不复杂,但是又很多的朋友都不太了解start与begin的区别,因此呢,今天小编就来为大家分享begin和start的区别的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月15日 09:20

vant官网中文(范特365 是韩国化妆品VANT36.5吗)

vant官网中文(范特365 是韩国化妆品VANT36.5吗)

大家好,今天小编来为大家解答以下的问题,关于vant官网中文,范特365 是韩国化妆品VANT36.5吗这个很多人还不知道,现在让我们一起来看看吧!

2026年10月15日 09:10

特殊字符是指什么?正则表达式中一些特殊字符的用法

特殊字符是指什么?正则表达式中一些特殊字符的用法

大家好,特殊字符相信很多的网友都不是很明白,包括特殊字符是指什么也是一样,不过没有关系,接下来就来为大家分享关于特殊字符和特殊字符是指什么的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

2026年10月15日 08:10

特殊符号网名大全花样符号(特殊符号昵称有哪些)

特殊符号网名大全花样符号(特殊符号昵称有哪些)

本篇文章给大家谈谈特殊符号网名大全花样符号,以及特殊符号昵称有哪些对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月15日 07:30

prison break(越狱(prison break)到底是在讲个什么)

prison break(越狱(prison break)到底是在讲个什么)

各位老铁们好,相信很多人对prison break都不是特别的了解,因此呢,今天就来为大家分享下关于prison break以及越狱(prison break)到底是在讲个什么的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看

2026年10月15日 06:50

c程序设计第五版教学视频(求C程序设计(第五版)谭浩强教材源代码、视频课件等电子版资料!谢谢大家!)

c程序设计第五版教学视频(求C程序设计(第五版)谭浩强教材源代码、视频课件等电子版资料!谢谢大家!)

各位老铁们,大家好,今天由我来为大家分享c程序设计第五版教学视频,以及求C程序设计(第五版)谭浩强教材源代码、视频课件等电子版资料!谢谢大家!的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动

2026年10月15日 06:40

电脑教程入门(电脑初学入门)

电脑教程入门(电脑初学入门)

本篇文章给大家谈谈电脑教程入门,以及电脑初学入门对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月15日 06:20

十六进制转二进制表(16进制转为2进制、8进制、10进制的公式)

十六进制转二进制表(16进制转为2进制、8进制、10进制的公式)

“十六进制转二进制表”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看十六进制转二进制表(16进制转为2进制、8进制、10进制的公式)!

2026年10月15日 06:10

最近更新

issued retroactively(FORM E上盖“ISSUED RETROACTIVELY”的问题,小女在线等待)
2026-10-15 10:30:03 浏览:0
如何制作短视频(短视频怎么制作)
2026-10-15 10:20:11 浏览:0
f发音是什么?printf的返回值是什么
2026-10-15 10:10:03 浏览:0
热门文章

标签列表