❶ 鍥炬枃璇存槑linux涓媑rep鏌ユ壘鍚鏈夋煇瀛楃︿覆鐨勬柟娉
鏈鏂囧垎浜玪inux涓嬮氳繃grep鏉ユ煡鎵惧惈鏈夋寚瀹氬瓧绗︿覆鐨勬墍鏈夋枃浠剁殑鏂规硶銆備互鏌ユ壘Parameter杩欎釜瀛楃︿覆涓轰緥銆
銆愭ラや竴銆慻rep鐢ㄦ硶 grep [options] PATTERN [FILE...]鍗砱rep [閫夐」] 瑕佹煡鎵剧殑瀛楃︿覆 鏌ユ壘鑼冨洿(鏌ユ壘璺寰)锛屽父鐢ㄧ粍鍚堜负grep -rinl "瑕佹煡鎵剧殑瀛楃︿覆" 鏌ユ壘鑼冨洿锛宺inl琛ㄧず濡備笅锛 -r 鏄閫掑綊鏌ユ壘锛屾煡鎵炬墍鏈夋枃浠跺寘鍚瀛愮洰褰 -i 蹇界暐澶у皬鍐 -n 鏄鏄剧ず琛屽彿 -l鍙鍒楀嚭鍖归厤鐨勬枃浠跺悕 man grep鐨勮存槑濡備笅鍥撅細
銆愭ラや簩銆慻rep -r閫掑綊鏌ユ壘 1銆佷笉甯-r鏌ユ壘鑼冨洿涓嶅寘鎷瀛愮洰褰曪紱 2銆佸甫-r鏃舵煡鎵捐寖鍥村寘鎷瀛愮洰褰曘 * : 琛ㄧず褰撳墠鐩褰曟墍鏈夋枃浠讹紝涔熷彲浠ユ槸鏌愪釜鏂囦欢鍚 grep -i "Parameter" /home/test/shell/* grep -ri "Parameter" /home/test/shell/* 濡備笅鍥撅細
銆愭ラや笁銆慻rep -i蹇界暐澶у皬鍐 1銆佷笉甯-i琛ㄧず澶у皬鍐欐晱鎰燂紝琛ㄧず瑕佷笌鏌ユ壘瀛楃︿覆鐨勫ぇ灏忓啓涓鑷达紱 2銆佸甫-i琛ㄧず蹇界暐澶у皬鍐欙紝澶у啓鍜屽皬鍐欓兘鍙浠ャ grep -i "Parameter" /home/test/shell/* grep -ri "Parameter" /home/test/shell/* 濡備笅鍥撅細
銆愭ラゅ洓銆慻rep -n鏄剧ず琛屾暟 鏄剧ず鏌ユ壘瀛楃︿覆鍦ㄦ枃浠剁殑琛屾暟浣嶇疆銆 grep -rn "Parameter" /home/test/shell/* 濡備笅鍥撅細
銆愭ラや簲銆慻rep -l鍙鏄剧ず鍖归厤鐨勬枃浠跺悕銆 grep -ri "Parameter" /home/test/shell/* grep -ril "Parameter" /home/test/shell/* 濡備笅鍥撅細
❷ 请问在LINUX中,grep命令什么时候才需要加双引号的
1、比如你要查找"b
zip2"这样有一个空格内容时,要加上引号,否则它会表示版查找b了。权
2、#表示有#内容的行,并没有特殊含义。而-v则表示不匹配。整体的含义则是打出aa.conf这个文件中不含#内容的行。
3、是不一样的。yes$是一个正则表达式,$表示以什么结尾,表示是查找yes结尾的行。而yes*则表示查找含有yes这内容的行。
❸ 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指令找有字符串结尾的行
1、首先在打开的linux终端下,可以使用grep --help查看,如下图所示。