#grep ‘Linux’ filename命令查找的是啥文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#grep ‘Linux’ filename命令查找的是啥文件?相关的知识,希望对你有一定的参考价值。

查找文件包含 "Linux"字符串的行
linux下的grep:
1.作用
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
2.格式
grep [options]
3.主要参数
[options]主要参数:
-c:只输出匹配行的计数。
-I:不区分大 小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
pattern正则表达式主要参数:
\: 忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
\<:从匹配正则表达 式的行开始。
\>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
。:所有的单个字符。
* :有字符,长度可以为0。
4.grep命令使用简单实例
$ grep ‘test’ d*
显示所有以d开头的文件中包含 test的行。
$ grep ‘test’ aa bb cc
显示在aa,bb,cc文件中匹配test的行。
$ grep ‘[a-z]\5\’ aa
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
$ grep ‘w\(es\)t.*\1′ aa
如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着 另外一个es(\1),找到就显示该行。如果用egrep或grep -E,就不用”\”号进行转义,直接写成’w(es)t.*\1′就可以了。
参考技术A 这个不是查找文件,是查找文件中的Linux字符串,例如:/root/hello.txt的第三行是Linux is good
grep "Linux" /root/hello.txt 就能找到这行!追问

20、指出下列命令查找的是什么文件?
#grep ‘Linux’ filename
#grep ‘^$’ filename
#grep ‘\.’ filename

追答

1,在filename 文件中查找包含字符串Linux的行。
2,在filename 文件中查找空行。
3,在filename 文件中查找包含字符.的行。

追问

11、每一文件或目录的访问权限都有3组,每组用3位表示,当用ls-1命令显示文件或目录的详细信息时,例如:
$ ls -1 sobsrc.tgz
-rw-r- -r- - 1 root 483997 ju1 15 17:31 sobsrc.tgz
请问:加下划线的一列表示什么含义?
12、如果将文件file的属性改为-rwxr-xr--,应怎样实现?又怎样将文件file的属性改为-rwxr-xr-x?

追答

我靠,给我点分!
11--------------------------------------
1, -rw-r--r--: 这个这样看:第一个-用来表示文件属性:例如drw-r--r--中d所表达的就是一个文件夹
2,剩下的9位分为3组:第一组rw-表示的所有者的权限是可读可写;第二组r--表示所有者所在组其他成员的权限是可读,最后一个r--表达的是其他成员的权限是可读。

12-----------------------------------------
chmod 754 file
chmod 755 file
给点分我告诉你为什么这么改

追问

说吧,我都加分了,说了还会加

追答

12、如果将文件file的属性改为-rwxr-xr--,应怎样实现?
chmod 754 file
754中 7代表所有者的权限;5表示所有者所在组其他成员的权限,最后4表达的是其他成员的权限。

换算关系 r = 4, w=2 , x=1
所以rwxr-xr--中rwx=4+2+1=7,r-x=4+1=5,r--=4,合起来就是754

本回答被提问者采纳
参考技术B 是在filename中查找Linux这个字符串追问

要知道ls命令如何使用,应该如何查询?

追答

你这个问题问的也太宽泛了吧,网上太多资料了,要问就问一些比较具体的,有意义的啊

追问

广泛?

追答

man ls这个命令中有很详细的解释,如果你的英文比较好的话

追问

不好意思,我的英语很差

追答

你可以去我的blog里看,blog.sina.com.cn/scirpting

linux中grep命令

grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

grep常用用法

[[email protected] ~]# grep [-acinv] [--color=auto] 搜寻字符串 filename
选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 搜寻字符串 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 搜寻字符串 内容的那一行!
--color=auto :可以将找到的关键词部分加上颜色的显示喔!

1、将filename中包含w的行输出来

[[email protected] log]# grep w filename 
wo ai wo jia
wo hen hao
da jia hao wo shi yi ge hao ren

 2、把行号显示出来

[[email protected] log]# grep -n w filename 
1:wo ai wo jia
3:wo hen hao
4:da jia hao wo shi yi ge hao ren

3、有多少行含有匹配的模式

[[email protected] log]# grep -c wo filename 
3

4、与正则表达式结合

字符类的搜索:搜寻 test 或 taste 这两个单字, [] 里面不论有几个字节,他都谨代表某『一个』字节

[[email protected] log]# grep t[ae]st filename 
test is meng
tast is huan

反向搜索--    字符类的反向选择 [^] :如果想要搜索到有 oo 的行,但不想要 oo 前面有 g,如下

[[email protected] log]# grep -n [^g]oo filename 
8:root is a super

 行首与行尾字节 ^ $

注意:

^ 符号,在字符类符号(括号[])之内与之外是不同的! 在 [] 内代表『反向选择』,在 [] 之外则代表定位在行首的意义!

只要行首是wo的行

[[email protected] log]# grep -n ^wo filename 
1:wo ai wo jia
3:wo hen hao

找出空白行----只有行首跟行尾 (^$)

[[email protected] log]# grep -n ^$ filename 
6:
9:
10:

任意一个字节 . 与重复字节 *
这两个符号在正则表达式的意义如下:

. (小数点):代表『一定有一个任意字节』的意思;
* (星号):代表『重复前一个字符, 0 到无穷多次』的意思,为组合形态

[[email protected] log]# grep -n ‘g..d‘ filename
8:good is a gread



以上是关于#grep ‘Linux’ filename命令查找的是啥文件?的主要内容,如果未能解决你的问题,请参考以下文章

linux 常用查日志技巧

Linux初学

linux怎样用grep过滤

Linux中的find和grep命令对查找到的文件如何处理啊

Linux 下 grep 命令常用方法简介

linux 常用命令