Linux59期day18

sed后向引用补充:

1.获取网卡ip地址:ip a s eth0
方法1---sed正则

[root@oldboy59 ~]# ip a s eth0 |sed -n '3p'|sed 's#^.*t ##g'|sed 's#/.*$##g'
10.0.0.201

方法2---sed后向引用

[root@oldboy59 ~]# ip a s eth0 |sed -n '3p'|sed -r 's#^.*t (.*)/.*$#\1#g'
10.0.0.201

2.取 stat /etc/hosts结果中的644

[root@oldboy59 ~]# stat /etc/hosts |sed -n '4p'|sed -r 's#^.*\(0([0-9]+)/.*$#\1#g'
644
后向引用

awk (三剑客老大)

awk是三剑客的老大,擅长取列、取行、统计计算

1.awk的格式

awk '找谁{干啥}' 文件
awk '条件{动作}' 文件------常用的动作是print(显示)

2.awk执行过程

awk执行过程

3.awk取行与取列

取行:(record记录),在awk下可以根据你的描述找到这一行,如:awk 'NR==1' 文件;如果不知道要的是那一行,可以用//进行过滤,如:awk '/oldboy/' 文件;这里的NR表示Number of Record(记录号行号),记住一定要大写,Linux的等于就是==

取出指定行的内容:

[root@oldboyedu59 /oldboy]# awk 'NR==1' lidao.txt
101,oldgirl,CEO
[root@oldboyedu59 /oldboy]# awk 'NR==2' lidao.txt
101,hello,WC

取出文件中包含old的文件:

[root@oldboyedu59 /oldboy]# awk '/old/' lidao.txt
101,oldgirl,CEO
[root@oldboyedu59 /oldboy]# 

取列:( filed 字段)
-F :指定awk的分隔符

取出oldboy.txt中的所有第1列

[root@oldboyedu59 /oldboy]# awk '{print $1}' oldboy.txt 
my
our
my

当要所显示几列时,可以通过","隔开进行显示,也可以在显示列之间添加特殊符号“@”

[root@oldboyedu59 /oldboy]# awk '{print $1,$3,$5}' oldboy.txt 
I oldgirl 
I linux. 
I badminton,ball ball
[root@oldboyedu59 /oldboy]# awk '{print $1"@@"$3"@@"$5}' oldboy.txt 
I@@oldgirl@@
I@@linux.@@
I@@badminton,ball@@ball

显示oldboy.txt的第4行的第1列 第2列和第4列

[root@oldboyedu59 /oldboy]# awk 'NR==4{print $1,$2,$4}' oldboy.txt 
I like ball

awk默认是以空格为分隔符,但有时候我们取出来的列中有我们不需要的内容,比如逗号,在逗号之后接其他的内容,这时候我们可以使用awk的参数-F(指定awk的分隔符),如:
取出以下内容中的lidao和918391635
echo 'I am lidao,my qq is 918391635' >/oldboy/fs.txt
以下命令执行之后找显示除了多余的“,my”,这是因为awk默认是以空格为分隔符的

[root@oldboyedu59 /oldboy]# awk '{print $3,$6}' fs.txt 
lidao,my 918391635

使用awk的参数-F指定以逗号或空格为分隔符,就可以,如下

[root@oldboyedu59 /oldboy]# awk -F',| ' '{print $3,$7}' fs.txt 
lidao 918391635
[root@oldboyedu59 /oldboy]# awk -F'[, ]' '{print $3,$7}' fs.txt 
lidao 918391635

4、过滤

在awk中什么可以作为条件?
比较、正则、范围、特殊

找出/etc/passwd第3列中大于999的行

[root@oldboy59 ~]# awk -F':' '$3>999' /etc/passwd
oldboy:x:1000:1000::/home/oldboy:/bin/bash
注:显示第3列用print,只说第3列如果是比大小,直接用$3即可

找出/etc/passwd第4列中大于0并且小于1000的行

[root@oldboy59 ~]# awk -F':' '$4>0 && $4<1000' /etc/passwd
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343