金沙糖果派对2015cc 2

本人如何从几个文件中检索(grep),并只显示相配到的文本的文本名?

grep 命令连串:怎样在 Linux/UNIX 中应用 grep 命令

本人该如何在 Linux、Apple OS X 及别的类 UNIX 系统中央银行使 grep
命令,你能给自个儿显得一些简单易行的例子吗?

grep
命令用来探求文本,或从给定的文书中搜寻行内包蕴了给定字符串或单词的文本。常常来讲,grep
凸显相配到的行。使用 grep
来搜寻包涵一个或四个正则表达式相称到的文本行,然后只展现相称到的行。grep
被充任在 Linux/ Unix 系统中最管用的通令之一。

金沙糖果派对2015cc 1

 

金沙糖果派对2015cc 2

您精晓呢

grep 那几个名字,来源于三个 Unix/Linux 中的古老的行编辑器
ed 中奉行相像操作的通令:

g/re/p

 

当你从不断一个的文书中寻觅时,暗中同意它将彰显文件名:

grep 命令的语法

语法如下所示:

grep 'word' 文件名
grep 'word' 文件1 文件2 文件3
grep '字符串1 字符串2'  文件名
cat 某个文件 | grep '某个东西'
command | grep '某个东西'
command 选项1 | grep '数据'
grep --color '数据' 文件名

 

grep "word" 文件名
grep root /etc/*

什么使用 grep 来搜寻一个文本

检索 /etc/passwd 文件下的 boo 客商,输入:

$ grep boo /etc/passwd

输出内容:

foo:x:1000:1000:foo,,,:/home/foo:/bin/ksh

能够选拔 grep 去强逼忽视大小写。比如,使用 -i 选项可以宽容 boo, Boo, BOO
和别的组成:

$ grep -i "boo" /etc/passwd

 

演示输出:

递归使用 grep

您能够递归地接受 grep
举办搜索。举个例子,在文件目录下边搜索全数包涵字符串“192.168.1.5”的文书

$ grep -r "192.168.1.5" /etc/

或者是:

$ grep -R "192.168.1.5" /etc/

身教重于言教输出:

/etc/ppp/options:# ms-wins 192.168.1.50
/etc/ppp/options:# ms-wins 192.168.1.51
/etc/NetworkManager/system-connections/Wired connection 1:addresses1=192.168.1.5;24;192.168.1.2;

您会看见找寻到 192.168.1.5
的结果每一行都前缀以找到十分的文件名(举个例子:/etc/ppp/options)。输出之中包罗的文书名能够加
-h 选项来幸免出口:

$ grep -h -R "192.168.1.5" /etc/

或者

$ grep -hR "192.168.1.5" /etc/

演示输出:

# ms-wins 192.168.1.50
# ms-wins 192.168.1.51
addresses1=192.168.1.5;24;192.168.1.2;

 

/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

利用 grep 去搜求文本

当你寻觅 boo 时,grep 命令将会相称 fooboo,boo123, barfoo35
和别的具备包罗 boo 的字符串,你能够利用 -w
选项去勉强只输出那二个单纯包含那多少个全部单词的行(LCTT译注:即该字符串两边是葡萄牙语单词分隔符,如空格,标点符号,和前面等,因而对中文这种没有断字符号的语言并不适用。)。

$ grep -w "boo" file

 

每行初始的率先个部分是文本名(如:/etc/crontab、/etc/group)。使用
-l 选项能够只展现文件名:

应用 grep 命令去追寻七个不一致的单词

运用 egrep 命令如下:

$ egrep -w 'word1|word2' /path/to/file

(LCTT 译注:这里运用到了正则表达式,由此利用的是 egrep 命令,即扩张的
grep 命令。)

 

admin

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注