❶ 鍥炬枃璇存槑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查看,如下圖所示。