day 30 awk复习
来源:互联网 发布:试发型的软件 编辑:程序博客网 时间:2024/06/06 01:19
awk练习题(http://www.apelearn.com/study_v2/chapter14.html)
- 用awk 打印整个test.txt (以下操作都是用awk工具实现,针对test.txt)
- 查找所有包含 ‘bash’ 的行
- 用 ‘:’ 作为分隔符,查找第三段等于0的行
- 用 ‘:’ 作为分隔符,查找第一段为 ‘root’ 的行,并把该段的 ‘root’ 换成 ‘toor’ (可以连同sed一起使用)
- 用 ‘:’ 作为分隔符,打印最后一段
- 打印行数大于20的所有行
- 用 ‘:’ 作为分隔符,打印所有第三段小于第四段的行
- 用 ‘:’ 作为分隔符,打印第一段以及最后一段,并且中间用 ‘@’ 连接 (例如,第一行应该是这样的形式 'root@/bin/bash' )
- 用 ‘:’ 作为分隔符,把整个文档的第四段相加,求和
作答:
- awk '{print $0}' test.txt
- awk '/bash/' test.txt
- awk -F':' '$3=="0"' test.txt
- awk -F':' '$1=="root" ' test.txt| sed 's/root/toor/'
- awk -F':' '{print $NF}' test.txt
- awk 'NR>20' test.txt
- awk -F':' '$3<$4' test.txt
- awk -F':' '{print $1"@"$NF}' test.txt
- awk -F':' '{(tot=tot+$4)};END {print tot}' test.txt
1、awk 中使用外部shell变量 http://ask.apelearn.com/question/199
注:“-v”选项用于定义参数,有多少个变量需要赋值,就需要多少个-v选项
2、awk 合并一个文件 http://ask.apelearn.com/question/493
NR表示读取的行数,FNR表示读取的当前行数。NR==FNR 就表示读取2.txt的时候, 同理NR>FNR表示读取1.txt的时候
3、把一个文件多行连接成一行 http://ask.apelearn.com/question/266
4、awk中gsub函数的使用 http://ask.apelearn.com/question/200
- awk 'gsub(/222222/,"abc")' /tmp/awk/filename --#把filename 文件中所有的“222222”替换为“abc”
- awk -F ':' 'gsub(/222222/,"abc",$1) {print $0}' /tmp/awk/filename --#替换$1中的“222222”为“abc”
- awk 'sub(/222222/,"abc")' /tmp/awk/filename --#把filename 文件中第一次出现的“222222”替换为“abc” 。结果与命令1的结果相同,该命令意思是把文件中每一行中第1次出现的“222222”替换为“abc”,而不是整个文件中第一次出现的222222。更改filename文件内容再验证如图2
5、过滤两个或多个关键词 http://ask.apelearn.com/question/198
- grep -E '3|ss' 1.txt --#找出文件1.txt 中包含"3"或者包含"ss"的行
- egrep '3|ss' 1.txt --#用egrep实现
- awk '/3|ss/' 1.txt --#用awk实现
- awk '/3/||/ss/' 1.txt
6、合并两个文件 http://ask.apelearn.com/question/945
- paste filename1 filename2
如果要在两个文件连接处用一个指定的字符连接,可以用“-d”选项来指定
- paste -d '+' a.txt b.txt
阅读全文
0 0
- day 30 awk复习
- awk复习
- day 28 awk
- day 29 sed复习
- L30 awk复习
- Android复习日记-day 1
- 基础知识复习笔记 Day 1
- 012day(复习循环例题)
- 【javase复习】## day 9正则表达式 ##
- 20151205正则第七部分(awk复习)
- 复习linux命令-[awk,comm,cut]
- Day 1 复习Linux指令,利用for循环打印菱形
- Day 2 复习gcc编译器 内存 地址 变量
- 【javase复习】## day 4 继承的内存分析、super、final ##
- Day 4:C++基本语法知识回顾复习
- 20151207 复习(sed 查找替换and awk查找替换分段)
- 30day plan
- day
- C#动态生成html数据并发送到本地剪贴板
- Git实用指令
- 2017/11/25 C语言总结
- JAVA——GC
- 2017/11/25 C语言作业
- day 30 awk复习
- httpclient请求报 java.net.BindException: Address already in use
- 网络通信——TCP/UDP
- iptables之layer7
- 【esp8266】小黑板烧写固件以及连接机智云APP
- python中的闭包
- centos end trace
- 内存
- atom-beautify 格式化PHP出错解决方法