Linux三剑客

Linux三剑客:grep、sed与awk的强大功能与实战应用


在Linux世界中,grep、sed和awk犹如三位不可或缺的英雄,他们以其独特的能力在数据处理和文本操作中发挥着关键作用。首先,让我们来认识一下grep,这位快速过滤的专家。它支持扩展正则表达式和丰富的选项,如-E(启用扩展正则)、-A(显示匹配行之后的指定行)、-B(显示匹配行之前的指定行)以及-i(忽略大小写)等。比如,grep -A 2 -c -w "关键字",可以查找包含指定关键字的行并显示其上下文和行计数。


紧接着是sed,流编辑器中的魔术师。它的操作命令丰富多样,包括's'(替换)、'd'(删除)、'c'(插入)、'a'(追加)和'i'(忽略大小写)。sed的一大特点就是精确查找,能够实现范围过滤和正则匹配,如sed '/pattern/d' file.txt用于删除包含特定模式的行。而egrep则在此基础上增加取反操作,如egrep -v '^$|#',用于排除空行和特定字符。


sed的插入和替换功能同样强大,如sed 's/old/new/g'用于全局替换,支持复杂的正则表达式。例如,可以使用它将数字替换为空,或者实现字符串反转,如sed 's/[0-9]\+/ /g' | rev。


awk,这位强大的计算和统计工具,其语法类似shell,但功能更为丰富。它可以过滤、统计和计算数据,如根据指定分隔符(-F)提取字段、使用$数字操作列、利用NR(记录号)和NF(列数)等进行条件判断。例如,awk -F',' '{sum += $2} END {print "平均值: " sum/NR}' file.csv,用于计算CSV文件中第二列的平均值。


awk还能处理复杂的数据结构,如IP地址、时间范围和用户访问数据。在一个循环中,你可以轻松执行多任务,如检查磁盘使用率(df -h | awk '$5 > 50%')和统计单词长度(echo "I am ok dboy teacher welcome to oldboy training class." | awk '{for(i=1;i<=NF;i++) print length($i)}')。


最后,使用这些工具处理数据时,可以巧妙地运用for循环和提取域名,如for domain in $(curl -s http://example.com/domains.txt | tr '
' ' '); do echo "$domain: $(curl -s http://$domain | wc -l)"; done,实现按域名计数并排序。


Linux三剑客,grep、sed和awk,它们的结合不仅提升了数据处理的效率,也为我们提供了强大的文本处理能力。熟练掌握它们,将让你在Linux世界中如虎添翼。



  • linux涓夊墤瀹鏁欑▼
    绛旓細1銆Linux 涓夊墤瀹鏄紙grep锛宻ed锛宎wk锛変笁鑰呯殑绠绉帮紝鐔熺粌浣跨敤杩欎笁涓伐鍏峰彲浠ユ彁鍗囪繍缁存晥鐜囥2銆丩inux 涓夊墤瀹互姝e垯琛ㄨ揪寮忎綔涓哄熀纭锛岃屽湪Linux绯荤粺涓紝鏀寔涓ょ姝e垯琛ㄨ揪寮忥紝鍒嗗埆涓衡滄爣鍑嗘鍒欒〃杈惧紡鈥濆拰鈥滄墿灞曟鍒欒〃杈惧紡鈥濄3銆佸湪鎺屾彙濂芥鍒欒〃杈惧紡鍚庯紝灏嗗叿浣撹瑙d笁鍓戝鐨勭敤娉曘4銆佸彲浠ョ湅鍒版爣鍑嗘鍒欒〃杈剧殑浣跨敤杩囩▼涓...
  • Linux涓夊墤瀹
    绛旓細Linux涓夊墤瀹锛実rep銆乻ed鍜宎wk锛屽畠浠殑缁撳悎涓嶄粎鎻愬崌浜嗘暟鎹鐞嗙殑鏁堢巼锛屼篃涓烘垜浠彁渚涗簡寮哄ぇ鐨勬枃鏈鐞嗚兘鍔涖傜啛缁冩帉鎻″畠浠紝灏嗚浣犲湪Linux涓栫晫涓铏庢坊缈笺
  • Linux涓夊墤瀹awk鍛戒护绡囦簩:鍛戒护鎿嶄綔绗
    绛旓細Linux涓夊墤瀹awk鍛戒护绡囦竴锛氬師鐞嗗強鍩烘湰鍛戒护 琛ュ厖 1銆佽娉曟牸寮忥細(1) Awk瀹屾暣璇硶 awk 'BEGIN{commands} pattern{commands}END{commands} ' file BEGIN{commands}锛氬鐞嗘暟鎹墠鎵ц鐨勫懡浠ゃ侲ND{commands}锛氬鐞嗗畬鏁版嵁鍚庢墽琛岀殑鍛戒护銆傝繖涓や釜鍛戒护鍙互鐪佺暐銆傝(2)(2) Awk鍩烘湰璇硶 awk -F '鍒嗗壊绗' '/妯″紡/...
  • Linux鍙互杩愯Visual Studio鍜涓夊墤瀹杞欢鍚?
    绛旓細浣犵綉椤靛埗浣滀笓涓氾紝缂栫▼涓嶉渶瑕佺敤MS Visual Studio銆Linux鏈夎澶氫紭绉鐨処DE,濡俥clipse, code::block銆傚彟澶栧湪Linux涓嬬紪绋嬩細姣攚in涓嬫洿鍔犳柟渚裤備綘鍙互鐩存帴浣跨敤gcc,gdb绛夎屼笉闇瑕佸鏉傜殑IDE銆涓夊墤瀹鐩墠鏄笉鑳借繍琛屼簬Linux涓嬬殑锛屼笉杩囧湪Mac OS涓婂緱鍒颁簡鏀寔銆傚湪Linux涓嬪埗浣滅綉椤碉紝浣犲彲浠ヤ娇鐢˙luefish, 姣旇緝閫傚悎缃戦〉缂栧啓...
  • linux璇剧▼浠ュ強Linux涓昏瀛︿範鍝簺鍐呭
    绛旓細鍚屾椂锛屾垜涔熻兘鍦ㄨ绋嬩腑涓庤佸笀鍜屽悓瀛︿簰鍔ㄤ氦娴侊紝瑙e喅鎴戝湪瀛︿範涓亣鍒扮殑闂銆傚湪Linux璇剧▼涓紝鎴戜富瑕佸涔犱簡浠ヤ笅鍐呭锛歀inux鍩虹锛氫簡瑙inux鐨勫巻鍙层佸彂灞曞巻绋嬨佸父鐢ㄥ懡浠ょ瓑鍩烘湰姒傚康銆傛枃浠跺拰鐩綍绠$悊锛氬涔犲浣曞垱寤恒佸垹闄ゃ佺Щ鍔ㄣ佸鍒舵枃浠跺拰鐩綍锛屼互鍙婂浣曡缃枃浠跺拰鐩綍鐨勬潈闄愩傜敤鎴峰拰缁勭鐞嗭細鐞嗚В鐢ㄦ埛鍜岀粍鐨勫惈涔夛紝...
  • 鍋Linux杩愮淮瑕佸鍝簺涓滆タ?浠涔堥『搴?涓昏闇瑕佷粈涔堣兘鍔?
    绛旓細杩愮淮闇瑕佺敤鍒扮殑涓滆タ寰堟潅锛屼粠纭欢璁惧鍒拌蒋浠剁淮鎶ゃ傜‖浠惰澶 姣斿鏈嶅姟鍣ㄧ殑瀹夎 缃戠粶鐨勯儴缃插竷灞 锛屾渶濂借兘澶熶簡瑙i槻鐏锛岃矾鐢卞櫒锛屼氦鎹㈡満鐨勮缃linux绯荤粺鐨勬繁鍏ヤ簡瑙c傛渶濂借兘澶熸繁鍏ュ埌鍐呮牳鍜屼唬鐮佸眰闈 閮ㄧ讲鍦╨inux鏈嶅姟鍣ㄤ笂鐨勫簲鐢ㄧ殑浜嗚В鍜岀淮鎶わ紝姣斿tomcat apache weblogic nagios cacti绛夈傚寘鎷紑鍙戜汉鍛樼紪鍐欑殑杞欢锛...
  • linux鍖呮嫭浠涔堝唴瀹?
    绛旓細Linux 涓昏浣滀负Linux鍙戣鐗堬紙閫氬父琚О涓"distro"锛夌殑涓閮ㄥ垎鑰屼娇鐢ㄣ傝繖浜涘彂琛岀増鐢变釜浜猴紝鏉炬暎缁勭粐鐨勫洟闃燂紝浠ュ強鍟嗕笟鏈烘瀯鍜屽織鎰胯呯粍缁囩紪鍐欍傚畠浠氬父鍖呮嫭浜嗗叾浠栫殑绯荤粺杞欢鍜屽簲鐢ㄨ蒋浠讹紝浠ュ強涓涓敤鏉ョ畝鍖栫郴缁熷垵濮嬪畨瑁呯殑瀹夎宸ュ叿锛屽拰璁╄蒋浠跺畨瑁呭崌绾х殑闆嗘垚绠$悊鍣ㄣ傚ぇ澶氭暟绯荤粺杩樺寘鎷簡鍍忔彁渚汫UI鐣岄潰鐨 XFree86涔嬬被鐨勬浘缁...
  • 鍝釜涓嶆槸linux鐨勬枃鏈涓夊墤瀹
    绛旓細1銆佸洓鏈堢殑闆紝鎯剰鎮犻棽銆2銆佸洓鏈堬紝浣犲ソ锛屾垜涓轰綘鑰屾潵!3銆佸洓鏈堬紝鏄烦鐫鑸炵殑鐖变笌鏆栥4銆佸洓鏈堢涓澶╋紝绁濅綘鏄ユ殩鑺卞紑銆5銆佷笁鏈堟倓鐒惰屽幓锛屽洓鏈堢咯鐒惰屾潵銆6銆佸啀瑙佷簡涓夋湀锛岄棶鍊欏洓鏈堬紝鏄ユ殩鑺卞紑!7銆3鏈堝啀瑙侊紝4鏈堜綘濂斤紝鎰夸綘寮蹇冦佸垢绂!8銆佷汉闂村洓鏈堣姵鑿插敖锛屽北涓婃鑺卞鐩涘紑銆9銆佸憡鍒补鑿滆姳鐨勪笁鏈堬紝杩庢帴鏆栭槼鐨...
  • 鏂版墜鎬庝箞瀛︿範Linux绯荤粺
    绛旓細1銆佸亣濡備綘浠庢潵鎺ヨЕ杩Linux鐨勮瘽锛岄鍏堣鍋氱殑灏辨壘涓鏈寚瀵间功鏉ュ涔 2銆佺幇鍦ㄥ叕璁ょ殑Linux鐨勫叆闂ㄤ功绫嶆槸鈥滈笩鍝ョ殑绉佹埧鑿溾濓紝璁茬殑寰堝叏闈 楦熷摜鐨勭鎴胯彍涓鍏卞垎涓轰袱閮紝涓閮ㄦ槸鍩虹绡囷紝涓閮ㄦ槸鏈嶅姟鍣ㄧ瘒 3銆佲滈笩鍝ョ殑绉佹埧鑿溾濊鐨勫緢鍏ㄩ潰锛屽彲鑳戒細鍖呮嫭涓浜涘凡缁忚繃鏃剁殑鐭ヨ瘑鐐癸紝浣嗘槸杩欐湰涔︽槸鍏ラ棬Linux蹇呭 4銆佸涔...
  • 鍩烘湰linux鍛戒护
    绛旓細杩囨护瀛楃涓,涓夊墤瀹鑰佷笁銆俲oin鎸変袱涓枃浠剁殑鐩稿悓瀛楁鍚堝苟銆倀r鏇挎崲鎴栧垹闄ゅ瓧绗︺倂i/vim鍛戒护琛屾枃鏈紪杈戝櫒銆傛枃浠跺帇缂╁強瑙e帇缂╁懡浠(4 涓)tar鎵撳寘鍘嬬缉銆俹ldboyunzip瑙e帇鏂囦欢銆俫zipgzip 鍘嬬缉宸ュ叿銆倆ip鍘嬬缉宸ュ叿銆備俊鎭樉绀哄懡浠(11 涓)uname鏄剧ず鎿嶄綔绯荤粺鐩稿叧淇℃伅鐨勫懡浠ゃ俬ostname鏄剧ず鎴栬呰缃綋鍓嶇郴缁熺殑涓绘満鍚嶃俤mesg鏄剧ず寮鏈轰俊鎭,...
  • 扩展阅读:linux文本三剑客 ... 三剑客在线观看完整版 ... linux三剑客命令案例详解 ... liunx三剑客要点 ... 俄区三剑客网站 ... linux三剑客基础知识 ... linux awk命令详解 ... linux三剑客之sed命令 ... linux开发工具三剑客 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网