如何在Linux中使用awk命令 linux awk命令怎么用?

awk\u547d\u4ee4\u5728 linux\u548caix\u4e0b\u7684\u533a\u522b

\u53ea\u8981awk\u7248\u672c\u4e00\u6837\uff0c\u4e0d\u4f1a\u6709\u533a\u522b

awk\u547d\u4ee4\u662fAlfred Aho, Peter Weinberger, Brian Kernighan\u4e09\u4f4d\u4f5c\u8005\u8054\u5408\u5f00\u53d1\u7684\uff0c\u7528\u4e8eLinux/Unix\u4e2d\u5904\u7406\u6570\u636e\u548c\u4ea7\u751f\u62a5\u544a\u3002awk\u547d\u4ee4\u529f\u80fd\u5341\u5206\u5f3a\u5927\uff0c\u53ef\u6839\u636e\u9700\u8981\u6293\u53d6\u3001\u622a\u53d6\u6307\u5b9a\u7684\u5217\u6216\u884c\u3002
\u9996\u5148\u5728/mnt\u76ee\u5f55\u4e0b\u521b\u5efa\u793a\u4f8b\u6587\u672c\u6587\u4ef6f1\uff0c\u5176\u5185\u5bb9\u5982\u4e0b\uff1a
1 hello hello
2 data data
3 xyz abc
4 123 789
5 ftp
6 Apache
7 apache
\u7136\u540e\uff0c\u4f7f\u7528awk\u5bf9f1\u6587\u4ef6\u5185\u5bb9\u8fdb\u884c\u5904\u7406\uff0c\u4e3e\u4f8b\u5982\u4e0b\u3002
\u2460awk -F " " '{print $2,$3}' f1\uff1a\u622a\u53d6\u663e\u793a\u6587\u6863\u7684\u7b2c\u4e8c\u5217\u548c\u7b2c\u4e09\u5217\uff0c-F\u6307\u5b9a\u5206\u9694\u7b26\u4e3a\u7a7a\u683c\uff0c$\u8868\u793a\u663e\u793a\u7b2c\u51e0\u5217\u3002\u5176\u4e2dprint\u8868\u793a\u8981\u505a\u8f93\u51fa\u4fe1\u606f\u7684\u52a8\u4f5c\uff0c$2\u548c$3\u8868\u793a\u8981\u8f93\u51fa\u7684\u5217\u53f7\uff0cawk\u8981\u6c42\u5c06print\u5df2\u7ecf\u8f93\u51fa\u5217\u7b49\u5185\u5bb9\u653e\u5728\u201c'{}'\u201d\u4e4b\u95f4\u3002
\u2461awk -F " " '($1>3){print $2,$3}' f1\uff1a\u9009\u53d6\u7b2c\u4e00\u5217\u7684\u503c\u5927\u4e8e3\u7684\u884c\uff0c\u663e\u793a\u5176\u7b2c\u4e8c\u5217\u548c\u7b2c\u4e09\u5217\uff0c\u5728\u201c()\u201d\u4e2d\u6307\u5b9a\u7b5b\u9009\u6761\u4ef6\u3002
\u2462awk 'NR==4 || NR==3' f1\uff1a\u663e\u793a\u7b2c\u4e09\u884c\u548c\u7b2c\u56db\u884c\uff0cNR\u8868\u793a\u884c\u53f7\u3002
\u2463awk '/data/ {print $2}' f1\uff1a\u6293\u53d6\u5305\u542b\u6307\u5b9a\u5b57\u7b26\u7684\u884c\uff0c\u518d\u5bf9\u5217\u8fdb\u884c\u622a\u53d6\u3002\u6b64\u4f8b\u4e2d\uff0cawk\u5148\u6309\u7167\u201cdata\u201d\u5b57\u7b26\u4e32\u5bf9\u6587\u4ef6f1\u4e2d\u7684\u884c\u7b5b\u9009\uff0c\u627e\u51fa\u5305\u542b\u201cdata\u201d\u7684\u884c\u4ee5\u540e\uff0c\u518d\u6309\u7167\u9ed8\u8ba4\u7684\u7a7a\u683c\u4f5c\u4e3a\u5206\u9694\u7b26\u5bf9\u884c\u7684\u5185\u5bb9\u505a\u5207\u5272\uff0c\u4ec5\u6253\u5370\u51fa\u7b2c\u4e8c\u5217\u7684\u5185\u5bb9\u3002
\u2464awk '$2 ~ /data/ ' f1\uff1a\u6293\u53d6\u7b2c\u4e8c\u5217\u5305\u542b\u6307\u5b9a\u5b57\u7b26\u7684\u884c\u3002\u5176\u4e2d\u201c~\u201d\u8868\u793a\u662f\u5426\u5339\u914d\u6307\u5b9a\u7684\u201cdata\u201d\uff0c\u5982\u679c\u7b2c\u4e8c\u5217\u7684\u5185\u5bb9\u5305\u542b\u201cdata\u201d\u5c31\u6253\u5370\u51fa\u6574\u884c\u5185\u5bb9\u3002
\u2465awk '$2 !~ /data/ ' f1\uff1a\u6293\u53d6\u7b2c\u4e8c\u5217\u4e0d\u5305\u542b\u6307\u5b9a\u5b57\u7b26\u7684\u884c\u3002\u5176\u4e2d\u201c!~\u201d\u8868\u793a\u662f\u5426\u4e0d\u5339\u914d\u6307\u5b9a\u7684\u201cdata\u201d\uff0c\u5982\u679c\u7b2c\u4e8c\u5217\u7684\u5185\u5bb9\u4e0d\u5305\u542b\u201cdata\u201d\u5c31\u6253\u5370\u51fa\u6574\u884c\u5185\u5bb9\u3002

awk:用于一行中分成数个“字段”来处理。适合处理
小型数据。
运行模式:awk
'条件类型1{动作1}
条件类型2{动作2}
...'
filename
#
last
|
awk
'{print
$1
"\t"
$3}'
<==
查看登录者的数据,只显示登录名和ip地址,并以[tab]隔开
awk
的内置变量
变量名称
代表的含义
NF
每一行($0)拥有的字段总数
NR
当前
awk
所处理的是
“第几行”
数据
FS
当前分隔符,默认空格键
awk
的逻辑运算符
运算单元
代表含义
>
大于
<
小于
>=
大于或等于
<=
小于或等于
==
等于
!=
不等于
范例:
cat
/etc/passwd
|
awk
'{FS=":"}
$3
<
10
{print
$1
"\t"
$3}'
<==
文件/etc/passwd是以":"分隔的,查看第三栏小于10的数据,并且只显示帐号与第三栏
以上是我对awk的总结,希望对你有帮助,是我写的哦,不是复制的。

awk实例
1、cat /etc/passwd|awk -F: '{print $1}'
2、linux的awk一般都是gawk,/bin/awk -> gawk
3、awk ‘/abc/’ file.txt 显示文件中包含abc行。类似grep abc a.txt
4、awk ‘{print NR,NF,$1,$NF,}’ file.txt按空格分隔列,显示当前记录号、域数和每一行的第一列和最后一列。
-F参数可以设置分割参数,例如按:分割
awk -F: ‘{print $1}’ /etc/passwd
或者cat file|awk -F “|” ‘{print $1}’
5、awk编程语言
cat v.txt|awk ‘{print length($1)}’
6、awk中使用NR和FNR,一般在awk处理多个文件时,NR==FNR才有意义
NF 当前记录中的字段数。
NR 当前记录数。
FNR同NR,但相对于当前文件。
awk ‘{print NR,FNR}’ test.txt test2.txt
awk ‘{if(NR==FNR){a[FNR]=$1;}else{print $1,a[FNR]}}’ b.txt a.txt
7、打印奇数行与偶数行
awk ‘NR%2’ test.txt
awk ‘!(NR%2)’ test.txt
8、杀死tomcat的stop.sh脚本
#!/bin/sh
ps -ef| grep tomcat |grep -v grep | awk ‘{print $2}’ |xargs kill -9
9、打印前7列
cat a.txt|awk ‘{NF=7}1’ >> b.txt
tail -f access.log|awk ‘NF=7′ OFS=’\t’ >> b.txt
cut -d”,” -f3-6 urfile

  • 濡備綍鍦↙inux涓娇鐢╝wk鍛戒护
    绛旓細涓涓洿瑙鐨搴旂敤瀹炰緥鏄紝濡傛灉浣犳兂鏌ョ湅鐧诲綍鑰呯殑鐢ㄦ埛鍚嶅拰IP鍦板潃锛屽彲浠浣跨敤浠ヤ笅鍛戒护锛歚awk '{print $1"\t"$3}'`锛岃繖浼氫粠杈撳叆鏂囦欢涓彁鍙栫涓鍒楋紙鐢ㄦ埛鍚嶏級鍜岀涓夊垪锛圛P鍦板潃锛夛紝骞朵互鍒惰〃绗﹀垎闅斻俛wk杩樻湁涓浜涘唴缃彉閲忥紝濡侼F锛堟瘡琛屽瓧娈垫暟锛夈丯R锛堝綋鍓嶅鐞嗚鏁帮級鍜孎S锛堥粯璁ゅ垎闅旂锛岀┖鏍硷級绛夛紝鏈夊姪浜庢洿...
  • linux awk鍛戒护璇﹁В
    绛旓細1銆乤wk鍛戒护鍙互鍦╨inux/unix涓嬪鏂囨湰鍜屾暟鎹繘琛屽鐞嗭紱2銆乤wk鍛戒护鏀寔鐢ㄦ埛鑷畾涔夊嚱鏁板拰鍔ㄦ佹鍒欒〃杈惧紡銆傚弬鑰冭寖渚嬶細姣斿鎵撳嵃姣忎竴琛岀殑绗簩鍜岀涓変釜瀛楁锛屽叿浣撳懡浠や负锛歔root@linuxcool ~]# awk { print $2,$3 } file awk鍛戒护鐨勫叿浣撹娉曟牸寮忎负awk [鍙傛暟] [鏂囦欢]銆傚弬鏁帮細-F 鎸囧畾杈撳叆鏃剁敤鍒扮殑瀛楁鍒嗛殧...
  • Linux绯荤粺鎬庝箞浣跨敤awk鍛戒护澶勭悊鏂囧瓧鏁版嵁?
    绛旓細1銆awk鍙互鏄剧ず鏂囦欢涓鐨鍐呭锛屽涓嬪浘鎵绀猴紝awk鏄剧ずpasswd涓殑鍐呭锛屽苟涓旇缃彧鏄剧ず鍓嶉潰5鏉′俊鎭 2銆乤wk灏唒asswd涓殑鍐呭浠ュ啋鍙蜂负鍒嗛殧锛屽苟鍙栧嚭绗1锛3锛6浣嶇殑鏁版嵁 3銆乤wk灏唒asswd涓殑鍐呭浠ュ啋鍙蜂负鍒嗛殧锛屽苟鍙栧嚭绗1锛3锛6浣嶇殑鏁版嵁锛屽苟鐢ㄩ噰鐢╰ab閿綔涓哄垎闅旂 4銆乤wk浠ュ啋鍙蜂负鍒嗛殧绗︼紝鏄剧ず涓琛屼腑鏈夊灏戝瓧娈...
  • linux awk鍛戒护鎬庝箞鐢?
    绛旓細鐒跺悗锛浣跨敤awk瀵筬1鏂囦欢鍐呭杩涜澶勭悊锛屼妇渚嬪涓嬨傗憼awk -F " " '{print $2,$3}' f1锛氭埅鍙栨樉绀烘枃妗鐨绗簩鍒楀拰绗笁鍒楋紝-F鎸囧畾鍒嗛殧绗︿负绌烘牸锛$琛ㄧず鏄剧ず绗嚑鍒椼傚叾涓璸rint琛ㄧず瑕佸仛杈撳嚭淇℃伅鐨勫姩浣滐紝$2鍜$3琛ㄧず瑕佽緭鍑虹殑鍒楀彿锛宎wk瑕佹眰灏唒rint宸茬粡杈撳嚭鍒楃瓑鍐呭鏀惧湪鈥'{}'鈥濅箣闂淬傗憽awk -F " " '...
  • 濡備綍鍦↙inux涓娇鐢╝wk鍛戒护
    绛旓細filename last | awk '{print 1 "\t"3}'<== 鏌ョ湅鐧诲綍鑰鐨鏁版嵁锛屽彧鏄剧ず鐧诲綍鍚嶅拰ip鍦板潃锛屽苟浠tab]闅斿紑 awk 鐨勫唴缃彉閲 鍙橀噺鍚嶇О 浠h〃鐨勫惈涔 NF 姣忎竴琛岋紙$0锛夋嫢鏈夌殑瀛楁鎬绘暟 NR 褰撳墠 awk 鎵澶勭悊鐨勬槸 鈥滅鍑犺鈥濇暟鎹 FS 褰撳墠鍒嗛殧绗︼紝榛樿绌烘牸閿 awk 鐨勯昏緫杩愮畻绗 杩愮畻鍗曞厓 浠h〃鍚箟 > 澶т簬...
  • linux awk鍛戒护
    绛旓細input-file(s)鏄緟澶勭悊鐨勬枃浠躲 鍦╝wk涓紝鏂囦欢鐨勬瘡涓琛屼腑锛岀敱鍩熷垎闅旂鍒嗗紑鐨勬瘡涓椤圭О涓轰竴涓煙銆傞氬父锛屽湪涓嶆寚鍚-F鍩熷垎闅旂鐨勬儏鍐典笅锛岄粯璁ょ殑鍩熷垎闅旂鏄┖鏍笺 2. 灏嗘墍鏈鐨刟wk鍛戒护鎻掑叆涓涓崟鐙枃浠讹紝鐒跺悗璋冪敤: awk -f awk-script-file input-file(s) 鍏朵腑锛-f閫夐」鍔犺浇awk-script-file涓...
  • Linux鍏ラ棬绯诲垪鈥斺awk鍛戒护璇﹁В
    绛旓細continue銆乥reak绛夊叧閿瓧銆俠reak鍜宑ontinue甯哥敤浜庡惊鐜腑锛涘湪awk涓紝鏁扮粍鐨勪笅鏍囧彲浠ユ槸鏁板瓧鎴栧瓧姣嶃備竴鑸awk涓殑鏁扮粍鐨勪綔鐢ㄦ槸浠庤褰曚腑鏀堕泦淇℃伅锛岀敤浜庤绠楁诲拰銆佺粺璁″崟璇嶇瓑銆鍦╝wk涓鍒犻櫎涓涓厓绱犵殑鏃跺浣跨敤 delete array[index]鏇村璇峰弬瑙乤wk瀹樻柟鏂囨。[http://www.gnu.org/software/gawk/manual/gawk.html]
  • linux鐨刟wk鍛戒护澶у叏linux鐨刟wk鍛戒护
    绛旓細鎴栬卆wk璇诲彇鏂囦欢 linux濡備綍鎵归噺鎻愬彇鏂囦欢鏈鍚庡嚑琛岋紵鍙互浣跨敤awk鍛戒护鍐欎竴涓惊鐜紝鐒跺悗閬嶅巻鎵鏈夋枃浠讹紝瀹氫綅姣忎釜鏂囦欢鏈鍚庡嚑琛岋紝閲嶅畾鍚戝埌鏂版枃浠跺氨鍙互浜嗭紒linux濡備綍浠ョ涓绗簩鍒椾负鍚嶅缓鏂囦欢澶癸紵Linux鍙互浠ユ枃浠剁殑绗竴鍒楀拰绗簩鍒椾负鍚嶅缓绔嬫枃浠跺す鐨勶紝鍏蜂綋鍛戒护鏄:awk{print$1,$2}filename|xargsmkdir-p linux鍛戒护...
  • awk鍛戒护浣跨敤瀹炰緥
    绛旓細Awk鏀寔澶氱妯″紡锛屽寘鎷鍒欒〃杈惧紡銆佸叧绯昏〃杈惧紡銆佽寖鍥村拰鐗规畩琛ㄨ揪寮忋備緥濡傦紝浣犲彲浠浣跨敤姝e垯琛ㄨ揪寮忔ā寮忓鈥/0.5/鈥濇潵绛涢夊寘鍚壒瀹氬瓧绗︿覆鐨璁板綍锛屾垨鑰呬娇鐢ㄥ叧绯昏〃杈惧紡濡">=30"鏉ユ煡鎵剧鍥涘瓧娈靛ぇ浜庣瓑浜30鐨勮褰曘傚叧绯昏〃杈惧紡妯″紡鍏佽閫氳繃姣旇緝鐗瑰畾瀛楁鍐呭锛屽浣跨敤鈥渵ia鈥濆尮閰嶅寘鍚渋a鈥濈殑璁板綍锛屾垨浣跨敤鈥!~ia鈥濇帓闄...
  • Linuxawk鍛戒护awklinux鍛戒护
    绛旓細awk缁忚繃鏀硅繘鐢熸垚鐨勬柊鐨勭増鏈琻awk,gawk,鐜板湪榛樿linux绯荤粺涓嬫棩甯浣跨敤鐨勬槸gawk,鐢ㄥ懡浠ゅ彲浠ユ煡鐪嬫鍦ㄥ簲鐢ㄧ殑awk鐨勬潵婧 鍐欏嚭ubuntulinux绯荤粺涓鏌ョ湅鏈満cpu鍜屽唴瀛樹俊鎭殑鍛戒护鍜鐢ㄦ硶,浠ュ強濡備綍瑙h杩欎簺鍛戒护? 鏌ョ湅CPU淇℃伅cat/proc/cpuinfo鏄剧ず褰撳墠纭欢淇℃伅sudolshw鑾峰彇CPU搴忓垪鍙锋垨鑰呬富鏉垮簭鍒楀彿#CPUIDsudodmidecode-t4|grepID#SerialNumber...
  • 扩展阅读:国产任天堂switch手柄 ... linux awk 输出 ... bios一键还原系统 ... linux awk if ... linux mkdir ... linux case ... awk 教程 ... linux cp ... linux chmod ...

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