linux命令grep用法
Linux grep命令用于查找文件里符合条件的字符串或正则表达式。
grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep
指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。
语法:
grep [options] pattern [files]
pattern - 表示要查找的字符串或正则表达式。
files - 表示要查找的文件名,可以同时查找多个文件,如果省略files参数,则默认从标准输入中读取数据。
常用选项:
-i:忽略大小写进行匹配
-v:反向查找,只打印不匹配的行
-n:显示匹配行的行号
-r:递归查找子目录中的文件
-l:只打印匹配的文件名
-c:只打印匹配的行数
更多参数:
-a或--text:不要忽略二进制的数据
-A<显示行数>或--after-context=<显示行数>:除了显示符合范本样式的那一列之外,并显示该行之后的内容。
-b或--byte-offset:在显示符合样式的那一行之前,标示出该行第一个字符的编号。
-B<显示行数>或--before-context=<显示行数>:除了显示符合样式的那一行之外,并显示该行之前的内容。
-c或--count:计算符合样式的列数。
-C<显示行数>或--context=<显示行数>或-<显示行数>:除了显示符合样式的那一行之外,并显示该行之前后的内容。
-d<动作>或--directories=<动作>:当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
-e<范本样式>或--regexp=<范本样式>:指定字符串做为查找文件内容的样式。
-E或--extended-regexp:将样式为延伸的正则表达式来使用。
-f<规则文件>或--file=<规则文件>:指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
-F或--fixed-regexp:将样式视为固定字符串的列表。
参数有很多,就不一一介绍了,希望大家在学习工作的过程中慢慢认识它们。
绛旓細Linux grep鍛戒护鐢ㄤ簬鏌ユ壘鏂囦欢閲岀鍚堟潯浠剁殑瀛楃涓叉垨姝e垯琛ㄨ揪寮銆俫rep鎸囦护鐢ㄤ簬鏌ユ壘鍐呭鍖呭惈鎸囧畾鐨勮寖鏈牱寮忕殑鏂囦欢锛屽鏋滃彂鐜版煇鏂囦欢鐨勫唴瀹圭鍚堟墍鎸囧畾鐨勮寖鏈牱寮忥紝棰勮 grep 鎸囦护浼氭妸鍚湁鑼冩湰鏍峰紡鐨勯偅涓鍒楁樉绀哄嚭鏉ャ傝嫢涓嶆寚瀹氫换浣曟枃浠跺悕绉帮紝鎴栨槸鎵缁欎簣鐨勬枃浠跺悕涓 -锛屽垯 grep 鎸囦护浼氫粠鏍囧噯杈撳叆璁惧璇诲彇鏁版嵁銆傝娉曪細gre...
绛旓細grep鍛戒护鐨勫熀鏈敤娉曟槸鍦ㄦ枃浠朵腑鏌ユ壘鍖呭惈鎸囧畾妯″紡鐨勮銆備緥濡傦紝瑕佸湪鏂囦欢file.txt涓煡鎵惧寘鍚玡xample鐨勮锛屽彲浠ユ墽琛屼互涓嬪懡浠わ細grep 'example'file.txt grep灏嗚緭鍑烘墍鏈夊寘鍚'example'鐨勮銆2銆佸拷鐣ュぇ灏忓啓 榛樿鎯呭喌涓嬶紝grep鍖哄垎澶у皬鍐欍傚鏋滆蹇界暐澶у皬鍐欒繘琛屾悳绱紝鍙互浣跨敤-i閫夐」銆備緥濡傦紝瑕佸湪鏂囦欢涓煡鎵惧寘鍚'example...
绛旓細1銆grep鐨勮娉昜] (man grep鏌ョ湅grep鐨勫府鍔╂枃妗) grep [options] 'pattern' FILE 鍛戒护 閫夐」 妯″紡 鏂囦欢 grep涓嶅姞寮曞彿鐩存帴杩囨护瀛楃涓;grep鍦ㄨ繘琛屾ā寮忓尮閰嶇殑鏃跺欏繀椤诲姞寮曞彿,鍗曞紩鍜屽弻...
绛旓細grep (global search regular expression(RE) and print out the line,鍏ㄩ潰鎼滅储姝e垯琛ㄨ揪寮忓苟鎶婅鎵撳嵃鍑烘潵)鏄竴绉嶅己澶х殑鏂囨湰鎼滅储宸ュ叿,瀹冭兘浣跨敤姝e垯琛ㄨ揪寮忔悳绱㈡枃鏈,骞舵妸鍖归厤鐨勮鎵撳嵃鍑烘潵銆俇nix鐨刧rep瀹舵棌鍖呮嫭grep銆乪grep鍜宖grep銆grep鍛戒护鏄竴绉嶅己澶х殑鏂囨湰鎼滅储宸ュ叿,瀹冭兘浣跨敤姝e垯琛ㄨ揪寮忔悳绱㈡枃鏈,骞舵妸鍖 閰嶇殑琛屾墦鍗板嚭鏉ャ俫r...
绛旓細grep鍙敤浜巗hell鑴氭湰,鍥犱负grep閫氳繃杩斿洖涓涓姸鎬佸兼潵璇存槑鎼滅储鐨勭姸鎬,濡傛灉妯℃澘鎼滅储鎴愬姛,鍒欒繑鍥0,濡傛灉鎼滅储涓嶆垚鍔,鍒欒繑鍥1,濡傛灉鎼滅储鐨勬枃浠朵笉瀛樺湪,鍒欒繑鍥2銆傛垜浠埄鐢ㄨ繖浜涜繑鍥炲煎氨鍙繘琛屼竴浜涜嚜鍔ㄥ寲鐨勬枃鏈鐞嗗伐浣溿1.鍛戒护鏍煎紡:澶嶅埗浠g爜 浠g爜濡備笅:grep [option] pattern file2.鍛戒护鍔熻兘: 鐢ㄤ簬杩囨护/鎼滅储鐨勭壒瀹氬瓧绗︺傚彲浣跨敤姝...
绛旓細1銆Linux绯荤粺涓grep鍛戒护鏄竴绉嶅己澶х殑鏂囨湰鎼滅储宸ュ叿锛屽叏绉版槸Global Regular Expression Print锛屽畠鑳藉湪鏂囦欢涓悳绱㈢鍚堣姹傜殑鏂囨湰锛屽苟鎶婂尮閰嶇殑琛屾墦鍗板嚭鏉ャ傚畠鐨勪娇鐢ㄦ潈闄愭槸鎵鏈夌敤鎴凤紝澶у鏁版儏鍐典笅锛実rep鍛戒护閮芥槸閰嶅悎绠¢亾绗︿娇鐢紝浠ユ湡鑾峰緱绗﹀悎瑕佹眰缁撴灉銆傚畠鐨勪娇鐢ㄦ柟娉鏄 grep 鍙傛暟 鏌ユ壘鏉′欢 鏂囦欢鍚嶃備富瑕佸弬鏁帮細锛峜锛...
绛旓細1銆linux绯荤粺涓grep鍛戒护鏄竴绉嶅己澶х殑鏂囨湰鎼滅储宸ュ叿锛屽畠鑳戒娇鐢ㄦ鍒欒〃杈惧紡鎼滅储鏂囨湰锛屽苟鎶婂尮閰嶇殑琛屾墦鍗板嚭鏉ャ俫rep鍏ㄧО鏄疓lobal Regular Expression Print锛岃〃绀哄叏灞姝e垯琛ㄨ揪寮忕増鏈紝瀹鐨勪娇鐢鏉冮檺鏄墍鏈夌敤鎴枫2銆佹牸寮 grep[options]3銆佷富瑕佸弬鏁 [options]涓昏鍙傛暟锛氾紞c锛氬彧杈撳嚭鍖归厤琛岀殑璁℃暟銆傦紞I锛氫笉鍖哄垎澶у皬鍐(鍙...
绛旓細grep鏄竴绉嶆枃鏈悳绱㈠伐鍏凤紝鍙互鍦ㄦ枃浠朵腑鏌ユ壘鎸囧畾鐨勫瓧绗︿覆鎴栬呮鍒欒〃杈惧紡骞跺皢鍏惰緭鍑恒俫rep鍙互鍦Linux绯荤粺涓娇鐢紝涔熷彲鍦ㄥ叾浠栫郴缁熶腑浣跨敤銆傚畠鐨勫姛鑳介潪甯稿己澶э紝鍙互杩涜閫掑綊鎼滅储锛屽尯鍒嗗ぇ灏忓啓浠ュ強浣跨敤澶氱姝e垯琛ㄨ揪寮忚娉曘grep鐨勪娇鐢寰堢畝鍗曪紝鍙渶瑕佸湪缁堢杈撳叆grep鍛戒护鍔犱笂瑕佹悳绱㈢殑瀛楃涓插拰鏂囦欢鍚嶅氨鍙互浜嗐備緥濡傦紝...
绛旓細榛樿鎯呭喌涓嬶紝浣跨敤 grep 杩涜鐨勬悳绱㈠尯鍒嗗ぇ灏忓啓锛-i鎮ㄥ彲浠ヤ娇鐢ㄤ互涓嬮夐」蹇界暐澶у皬鍐欏尮閰嶏細杩欐牱锛実rep 灏嗚繑鍥炰笌 鍜 鍖归厤鐨凥olmes琛宧olmes銆傞粯璁ゆ儏鍐典笅锛屾偍鍙細鐪嬪埌鍖归厤鐨勮锛屼絾鏄紝褰撴偍瀵规煇浜涢棶棰樿繘琛屾晠闅滄帓闄ゆ椂锛屽湪鍖归厤琛屼箣鍓嶅拰/鎴栦箣鍚庢煡鐪嬪嚑琛屼細鏈夋墍甯姪銆傛偍鍙互浣跨敤-A鏉ユ樉绀哄尮閰嶈涔嬪悗鐨勮銆備笅闈㈢殑鍛戒护灏...
绛旓細linux浣跨敤GNU鐗堟湰鐨grep銆傚畠鍔熻兘鏇村己锛屽彲浠ラ氳繃-G銆-E銆-F鍛戒护琛閫夐」鏉ヤ娇鐢╡grep鍜宖grep鐨勫姛鑳姐2.鏍煎紡鍙婁富瑕佸弬鏁 grep [options]涓昏鍙傛暟锛 grep --help鍙煡鐪 -c锛氬彧杈撳嚭鍖归厤琛岀殑璁℃暟銆-i锛氫笉鍖哄垎澶у皬鍐欍-h锛氭煡璇㈠鏂囦欢鏃朵笉鏄剧ず鏂囦欢鍚嶃-l锛氭煡璇㈠鏂囦欢鏃跺彧杈撳嚭鍖呭惈鍖归厤瀛楃鐨勬枃浠跺悕銆-n锛...