day 28 awk
来源:互联网 发布:vb.net 入门 编辑:程序博客网 时间:2024/05/21 21:47
9.6~9.7 awk
1、awk--打印
- awk -F':' '{print $1}' test.txt --#指定分隔符为“:”,打印第1字段,“$1”代表第一字段,该操作不会更改原文件内容,不像sed有“-i”的选项可以更改原文件
- awk -F':' '{print $1,$2,$3}' test.txt --#指定分隔符为“:”,打印第1字段、第2字段和第3字段的内容,打印多个字段时,用逗号隔开各字段
- awk -F':' '{print $1"#"$2"#"$3}' test.txt --#指定分隔符为“:”,打印第1字段、第2字段和第3字段的内容,且指定各段内容以“#”分隔,需在各段中加“#”,并以双引号括起
- awk -F':' '{print$0}' test.txt --#指定分隔符为“:”,打印所有段内容,“$0”代表所有段,也可直接用命令: awk '{print $0}' test.txt。 若不使用“-F”选项指定分隔符,默认会使用空格/空白符为分隔符
- awk '/oo/' test.txt --#匹配指定文件含“oo”的行并打印出来
- awk -F':' '$1 ~ /oo/' test.txt --#匹配指定文件中指定段(第1段)含“oo”的行并打印出来,也支持正则,比如awk -F':' '$1 ~ /oo+/' test.txt,使用特殊字符时均不用加脱意字符和特殊选项
- awk -F':' '/root/ {print $1,$3} /user/ {print $1,$6,$7}' test.txt --#包含"root"的行中打印第1和第3字段,包含“user”的行中打印第1、第6和第7字段的内容,依次匹配,若有重复,会打印两次
- awk -F':' '/root|user/ {print $0}' test.txt --#打印包含“root”或“user”的所有段
- awk -F':' '$3==0 {print $1}' test.txt --#打印第3字段等于0的行中的第1字段
- awk -F':' '$3>=1000 {print $0}' test.txt --#打印第3字段大于等于1000的行中的所有字段,也可不要"{print $0}"
- awk -F':' '$3>="1000" {print $0}' test.txt --#打印第3字段大于等于字符串“1000”对应的ASCII码值的所有字段,注意加了双引号,表示字符串
- awk -F':' '$7!=“/sbin/nologin”{print $0}' test.txt --#打印第7字段不等于/sbin/nologin的所有字段,注意指定的字段要加双引号
- awk -F':' '$3<$4 ' test.txt --#打印满足第3字段小于第4字段的行
- awk -F':' '$3>"5" && $3<"7" ' test.txt --#打印满足第3字段大于“5”且小于“7”的行
- awk -F':' '$3>1000 || $7 ~ /bash/ ' test.txt--#打印满足第3字段大于1000或第7字段匹配bash的行,注“~”表示匹配,对应的字段内容只要包含指定关键字就算匹配,而“==”表示严格匹配,对应字段内容必须严格为关键字内容才算匹配
- awk -F':' '{OFS="#"} $3>1000|| $7 ~ /bash/ {print $1,$3,$7} ' test.txt --#"OFS"为内置变量,指定打印内容的分隔符
- awk -F':' '{OFS="#"} {if ($3>1000 ) {print $1,$3,$7}} ' test.txt --#加上if条件语句更规整的写法,等价于awk -F':' '{OFS="#"} $3>1000 {print $1,$3,$7} ' test.txt
- awk -F':' '{print NR":"$0}' test.txt --#变量NR代表行号,打印出所有行并加上行号,以“:”分隔,注意要加双引号引上
- awk -F':' '{print NF":"$0}' test.txt --#变量NF代表段号,打印出所有行并加上段号,以“:”分隔.
- awk -F':' 'NR<=10 && $2 ~ /root|sync/' test.txt --#NR可用于条件语句,打印出第1~10行中,第2字段匹配root或sync的行
- awk -F':' '{print $NF":" $NR}' test.txt --#取NF和 NR变量的值,打印对应字段,如果test.txt文件各行有7段,则$NF表示打印第7字段,当打印到第8行时,由于不存在第8字段($8),则“:”后内容为空
- head -n 3 test.txt |awk -F':' '$1="root"'--#给第1字段赋值"root",复制之后分隔符":"没有了,可通过OFS指定 head -n 3 test.txt |awk -F':' ' {OFS=":"} $1="root"'
- awk -F':' '{(tot=tot+$3)}; END {print tot}' test.txt --#求各行第3字段的累加和,tot变量未赋值,初始默认值为0
阅读全文
0 0
- day 28 awk
- day 30 awk复习
- Day 28 list
- 28&29day-UIWebView
- day
- day\\\
- awk
- awk
- AWK
- awk
- AWK
- awk
- awk
- AWK
- awk
- awk
- AWK
- awk
- 003 全概率公式与贝叶斯公式
- C++学习日记(1)
- [工作效率提升]焦虑性失眠的应对方法
- JavaCore-OOP-1-最最基础的商品管理
- Python对mysql的操作三
- day 28 awk
- Evnetbus使用
- RxJava+MVP+轮播+retrofit+条目点击+recyclerView
- 《七点三刻》北方降温/腾讯成功吃鸡/IS灭亡/小蓝车可电话退款…有价值的新闻早餐 2017年11月23日星期四,第014期
- poj2653 Pick-up sticks
- [Unity]Unity组件崩溃的通用的几种解决办法
- 登陆注册
- 人工智能让人类尴尬:伦理道德法律框架设计滞后
- ijkplayer播放器