北大,awk 命令基础练习

北大,awk 命令基础练习

Red Hat Enterprise Linux Version 5.3
Get the latest news about the world‘s Open Source Leader
Red Hat Network
Manage your system dffectively through Red Hat Network
Global Learning Services
You‘ve got Red Hat Enterprise Linux,now get the skills
check out Red Hat‘s 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}‘
时间: 2024-10-10 04:40:52

北大,awk 命令基础练习的相关文章

linux基础学习-18-linux三剑客之awk命令精讲

快捷跳转目录: * 第1章:awk基础入门       * 1.1:awk简介 * 1.2:学完awk你可以掌握: * 1.3:awk环境简介 * 1.4:awk的格式 * 1.5:模式动作 * 1.6:awk的执行过程 * 1.6.1:小结awk执行过程 * 1.7:记录和字段 * 1.7.1:记录(行) * 1.7.2:记录分隔符-RS * 1.7.3:对$0的认识 * 1.7.4:企业面试题 * 1.7.5:awk记录知识小结 * 1.7.6:字段(列) * 1.7.7:ORS与OFS简介

Linux安全基础:awk命令的使用

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. awk有3个不同版本: awk.nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本. 1.语法 awk '{pattern + action}' {filenames} 尽管操作可能会很复杂,但语法总是这样,其中 pattern 表示 AWK 在数

awk命令之基础篇

基本命令 awk'{action}' 输入文件 无条件执行action awk '/pattern/{action}' 输入文件 pattern匹配时执行action awk '(condition){action}' 输入文件 condition成立时执行action awk '/李四/{print $0}' tmp//输出含有'李四'关键字的一行记录 2 李四 70 awk '/^2/{print $0}' tmp//输出以2开头的一行记录 2 李四 70 关于字段: awk命令会读入的每一

【Linux】基础每日一命之awk命令(上)

awk 是一个强大的文本分析工具 语法:awk [选项参数] 'script' var=value file(s)或awk [选项参数] -f scriptfile var=value file(s) 参数说明: -F fs or --filed-separator fs :指定输入文件分隔符,fs是一个字符串或者是一个正则表达式,如-F-v var=value or --asign var=value :赋值一个用户定义变量-f scripfile or --file scriptfile :

linux shell基础(六)awk命令(编辑中)

一.awk命令 awk是一种**编程语言**,用于在linux/unix下对文本和数据进行处理(gawk - pattern scanning and processing language).centos7中的awk是gawk的链接.它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具.前面的grep.sed只是单纯的工具,而awk已经是一门语言了,可见awk的功能将比较强大 用法: awk [options] 'script' var=value fil

【Linux基础】awk命令

1.awk命令说明 (1)awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 (2)awk处理过程: 依次对每一行进行处理,然后输出 (3)awk命令形式: awk [-F|-f|-v] 'BEGIN{} //{command1; command2} END{}' file [-F|-f|-v]   大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=value '  '          引用代码块 BEGIN   初始

linux awk命令批量关闭系统开机自启动服务

安装好一个新的系统之后,为了简化系统需要关闭一些开机自启动的服务. 蜗牛使用了grep和awk的基础命令进行操作. 作为服务器使用,新系统中需要启动的服务大概就以下几个 crond network sshd rsyslog 查看运行级别3开机自启动的服务 chkconfig --list|grep 3:on 步骤1:对服务名字进行采集 通过grep滤出3:on的服务,然后排除crond network sshd rsyslog 这四个选项,然后实用awk输出第一列内容 chkconfig --l

sed与awk命令小结

1.sed命令小结 Sed是一个非交互式文本编辑器,它可对文本文件和标准输入进行编辑,标准输入可以是来自键盘输入.文件重定向.字符串.变量,甚至来自管道的文本.Sed从文本的一个文本行或标准输入中读取数据,将其复制到缓冲区,然后读取命令行或脚本的第一个命令,对此命令要求的行号进行编辑,重复此过程,直到命令行或脚本中的所有命令都执行完毕.相对于vi等其他文本编辑器,sed可以一次性处理所有的编辑任务,显得非常高效,为用户节省了大量的时间. 1. 语法:sed [OPTION]... {script

【转载 更新】Linux工具之AWK 2.基础知识

1. awk简介 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入.一个或多个文件,或其它命令的输出.它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具.它在命令行中使用,但更多是作为脚本来使用.awk的处理文本和数据的方式是这样的,它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作.如果没有指定处理动作,则把匹配的行显示到标准输出(屏幕),如果没有指定模式,则所有被操作所指