shell awk按分隔符读取文件 [大三TJB_708]

时间:2021-06-25 21:28:05

awk接收输入文件的内容,以行为单位根据参数 指定浏览和抽取信息的模式。

 

<1>使用格式

awk  –F”分隔符”   {print $n}   输入文件

各个部分解释如下:

-F”分隔符”:-F为使用awk来使用分隔符的指定参数,分隔符为文件的某个字符,使用时需要用“”引起来。如果分隔符缺省,则默认为一个空格。

{print $n}:表示输出输入文件当前行的第n个字段,$n表示取第n个字段,字段可以同时为多个字段。使用时用‘’将此部分引起来。

输入文件:表示awk进行读取的文件。

 

<2>使用awk的小例子

#!/bin/bash

awk  -F":"  '{print $6}'  passwd

 

passwd内容:

f_byte1:f_byte2:f_byte3:f_byte4:f_byte5:f_byte6

s_byte1:s_byte2:s_byte3:s_byte4:s_byte5:s_byte6

 

运行脚本得到结果:

f_byte6

s_byte6

 

<3>分析结果

由passwd作为输入文件,以”:”作为分隔符,{print $6}输出第六个字段。

其中在{print $6}语句中可以选择输出多个字段。如{print $5 $6}则会输出passwd文件中的第5、第6字段。

 

<4>对awk的输入文件,还可以通过管道直接给予

例2:

#!/bin/bash

var=$(cat passwd | awk -F":" '{print $6}')

echo $var

 

运行结果如下:

f_byte6 s_byte6

 

 

此次笔记记录完毕。