shell编程——awk
创始人
2024-09-25 22:50:39
0
用法 awk 'BEGIN{ commands } pattern{ commands } END{ commands }' [INPUTFILE…] awk的输出 (1) print item1,item2,…… 各项目之间使用逗号隔开,而输出时则以空白字符分隔; 输出的item可以为字符串或数值、当前记录的字段(如$1)、变量或awk的表达式;数值会先转换为 字符串,然后再输出;print命令后面的item可以省略,此时其功能相当于print $0, 因此,如果想输出空白行,则需要使 用print “ ”;[root@localhost ~]# awk 'BEGIN { print "line one\nline two\nline three"}' line one line two line three [root@localhost ~]# awk 'BEGIN{print "This","is","test"}' This is test [root@localhost ~]# awk -F: '{print $1,$3}' /etc/passwd | head -n 3 root 0 bin 1 daemon 2 [root@localhost ~]# awk -F: '{printf "%-15s %i\n",$1,$3}' /etc/passwd |head -n 3 root 0 bin 1 daemon 2
输出重定向 print items > output-file print items >> output-file print items | command

root@localhost ~]# awk -F: '{printf "%-15s %i\n",$1,$3 > "test1" }' /etc/passwd

[root@localhost ~]# echo "this is" > test.txt [root@localhost ~]# awk 'BEGIN {OFS="#"} {print $1,$2,"a","test"}' test.txt this#is#a#test [root@localhost ~]# awk 'BEGIN{print ENVIRON["PATH"]}' /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin用户自定义变量 awk允许用户自定义自己的变量以便在程序代码中使用,变量名命名规则与大多数编程语言相同,只 能使用字母、数字和下划线,且不能以数字开头。awk变量名称区分字符大小写。 使用赋值语句进行赋值: [root@localhost ~]# awk 'BEGIN{test="hello";print test}' hello 在命令行中使用-v选项赋值: [root@localhost ~]# awk -v test="hello" 'BEGIN {print test}' hello

# awk命令调用脚本

[root@server ~]# awk  -f  test.awk  awk2.txt

```

```bash

# OFS设置输出结果的间隔符为\t

[root@server ~]# awk  -F  ":"  'BEGIN {OFS="\t"} {print $1,$2}'  /etc/passwd

```

```bash

#查看文件中所有空白行的行号

[root@server ~]# awk  '/^$/{print  NR}'  /root/anaconda-ks.cfg

```

 

 

用户自定义变量:
awk允许用户自定义自己的变量以便在程序代码中使用
变量名命名规则与大多数编程语言相同,只能使用字母、数字和下划线,且不能以数字开头
awk变量名称区分字符大小写

[root@server ~l# awk  'BEGIN{test="hello world" ; print test}'#变量定义在BEGIN中

hello world

 

[root@server ~]# awk -v test="hello world" BEGIN'{ print test}'# 变量定义在-V参数后,
hello world

相关内容

热门资讯

长虹智能电视 安卓系统,安卓系... 亲爱的电视迷们,你是否在寻找一款既能满足你对高清画质追求,又能让你畅享智能生活的电视呢?今天,就让我...
选择安卓系统原因调查,揭秘安卓... 你有没有想过,为什么那么多人会选择安卓系统呢?是不是好奇他们到底看中了安卓的哪些“小秘密”?今天,就...
安卓系统怎样换主题,安卓系统主... 亲爱的手机控们,你是不是已经厌倦了安卓手机那千篇一律的界面?想要给手机换换新装,让它焕发出新的活力?...
安卓系统安装jdk arm,A... 你有没有想过,为什么你的安卓设备有时候运行得那么慢?其实,这跟你的安卓系统安装的JDK(Java D...
苹果系统王者点券安卓,苹果系统... 你有没有发现,最近手机游戏界又掀起了一股热潮?没错,就是那款让无数玩家为之疯狂的《王者荣耀》!这款游...
安卓系统电影下载app,轻松打... 你有没有想过,在安卓手机上下载电影,竟然能变得如此轻松愉快?没错,就是那种一触即达的快感!今天,就让...
GALGAME安卓换苹果系统,... 你有没有想过,那些在安卓手机上玩得如痴如醉的GALGAME,竟然也能在苹果系统上大放异彩?没错,就是...
安卓新系统14功能,解锁全新系... 你知道吗?最近安卓新系统14的功能曝光了,简直让人眼前一亮!想象你的手机瞬间变成了一个智能小助手,各...
小米电视安卓系统和tv系统,安... 亲爱的读者们,你是否曾为家里的电视系统而烦恼?市面上各种电视品牌琳琅满目,但你是否知道,小米电视的安...
安卓系统直接升级鸿蒙,系统升级... 你知道吗?最近科技圈可是炸开了锅,因为安卓系统直接升级鸿蒙的消息让无数手机爱好者兴奋不已。想象你的安...
安装安卓系统证书失效,揭秘原因... 最近是不是你也遇到了安卓系统证书失效的烦恼?别急,让我来给你详细说说这个棘手的问题,让你轻松解决它!...
windows手机系统是不是安... 你有没有想过,为什么有些人拿着Windows手机,却总感觉它和安卓手机有点不一样呢?是不是好奇Win...
汉斯王子安卓系统,探索创新科技... 亲爱的读者们,今天我要和你聊聊一个特别有趣的话题——汉斯王子与安卓系统。你可能觉得这两个看似风马牛不...
安卓系统可以改吗,深度解析可定... 你有没有想过,你的安卓手机其实就像一个穿着普通衣服的王子,外表看起来平平无奇,但其实内在藏着无限的可...
安卓P系统是几,揭秘新一代系统... 你有没有注意到,你的安卓手机最近是不是变得聪明多了?没错,这就是安卓P系统的功劳!那么,安卓P系统到...
安卓手机系统适配ios,揭秘适... 你知道吗?最近在科技圈里,有一个话题可是引起了不小的轰动呢!那就是安卓手机系统适配iOS。是不是觉得...
和平精英安卓系统和iOS系统,... 你有没有发现,最近和平精英这款游戏在安卓系统和iOS系统上可是火得一塌糊涂啊!不管是走在街头,还是坐...
安卓系统5.0几个版本,从Lo... 你有没有发现,安卓系统5.0这个版本,就像是手机界的“老戏骨”,虽然已经有些年头了,但依然让人津津乐...
原神安卓系统转苹果系统,轻松体... 你有没有想过,从安卓系统跳转到苹果系统,这中间的旅程是不是就像一场说走就走的旅行呢?想象你手中的安卓...
安卓系统找不到ftf,神秘“f... 最近是不是你也遇到了安卓系统里找不到ftf文件的问题?别急,让我来给你详细说说这个让人头疼的小麻烦,...