shell编程(十一)awk指令

awk指令

简介

一般情况下,awk指令是进行文件内容的列操作,与sed相反,sed主要进行文件内容的行操作,这两个指令就可以直接对一个文件进行快速的操作。

功能介绍

一般使用awk的列操作,默认情况下,是以空格进行分割。
首先创建一个文件内容如下:

My name is dhy
This is a awk_test files
Content is a,b,c,df
  • 对文件进行awk的指令操作
awk '{print $1}' test.txt

打印test文件的首行(第一行)内容。

  • 测试代码如下:可以根据用户输入进行打印
#!/bin/bash 
#author by dhy

Num=$1

#echo $Num
awk '{print $'$Num'}'

运行结果:
在这里插入图片描述

-F功能

-F功能可以自己定义分割标准
使用逗号分割,或者使用冒号分割等
由于只有第三行有逗号,所以按照逗号分割,前两行没有内容。
在这里插入图片描述

-v 设置变量

-v后可以跟变量名称,表示设置变量,在之后的操作中可以使用该变量。
在这里插入图片描述
上图设置了a变量,然后再使用打印的时候直接可以使用a变量进行打印。