北大,awk 命令基础练习

Posted 唐胜伟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了北大,awk 命令基础练习相关的知识,希望对你有一定的参考价值。

                   北大,awk 命令基础练习                   

Red Hat Enterprise Linux Version 5.3
Get the latest news about the worlds Open Source Leader
Red Hat Network
Manage your system dffectively through Red Hat Network
Global Learning Services
Youve got Red Hat Enterprise Linux,now get the skills
check out Red Hats training courses and industry-acclaimed
2009082301
#This is a test456 line
   space test123 line234


1.编写一个awk脚本,功能是打印所有行
2.编写一个awk脚本,打印文件第八行
3.用awk命令打印文件所有行的第一个字段
4.打印输入行总数
5.打印每行字段数
6.打印最后一行
7.打印字段数多于4个的行
8.打印文件所有字段的总数
9.打印3-8行
10.在文件顶部加上标题“Document”
11.隔行删除(1,3,5,...行删除)
12.查找system替换成***SYSTEM***
14.打印一列数字的总和。

答案:

1.编写一个awk脚本,功能是打印所有行
awk ‘{print $0}‘ a.txt 

2.编写一个awk脚本,打印输入文件第八行
awk ‘{if(NR==8){print $0}}‘ a.txt

3.用awk命令打印文件所有行的第一个字段
awk ‘{print $1}‘ a.txt 

4.打印输入行总数
[[email protected] test]# awk ‘END{print NR}‘ a.txt 

5.打印每行字段数
awk ‘{print NF}‘ a.txt

6.打印最后一行
awk ‘{tail=$0}END{print tail}‘ a.txt 
awk ‘END{print $0}‘ a.txt

7.打印字段数多于4个的行
awk ‘{if(NR>4){print $0}}‘ a.txt
awk ‘NR>4‘ a.txt

8.打印文件所有字段的总数
awk ‘BEGIN{n=0}{n=n+NF}END{print n}‘ a.txt

9.打印3-8行
awk NR>=3 && NR<=8 1.txt
awk { if(NR>=3 && NR<=8){print} } a.txt

10.在文件顶部加上标题“Document”
awk BEGIN{print "Document"}{print} a.txt

11.隔行删除(1,3,5,...行删除)
awk { if(NR%2 == 0){print $0} } a.txt

12.查找system替换成***SYSTEM***
awk {gsub(/system/,"****SYSTEM****",$0);  print $0} a.txt

13.取ifconfig eth0 的IP
ifconfig eth0 | awk /inet /{print $2,$NF} | awk -F"[ :]" {print $2"/"$NF}

14.打印一列数字的总和。
seq 100 | awk {sum+=$1}END{print sum}

 

以上是关于北大,awk 命令基础练习的主要内容,如果未能解决你的问题,请参考以下文章

Linux每日练习-awk命令之内部自定义函数 20200224

Linux文本三剑客之一——awk详解——awk看这两篇就够啦~PS:文末有练习,来练练手吧

shell练习--awk统计ip访问量(一条命令)

SHELL用法九(awk练习)

awk练习题

Linux基础练习题答案7.15