(29)字符截取命令awk

时间:2022-07-24
本文章向大家介绍(29)字符截取命令awk,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

想和我一起交流沟通,获取更多内容欢迎关注微信公众号:生信real

上一节我们讲到cut是有局限性的:cut只能识别制表符,或者具体的分隔符(":"、","等)。当文件的分隔符是空格,我们就无法利用cut进行提取了,此时我们需要用到后面将要讲到的awk命令来进行提取。

1.awk

命令格式

[root@laptop~]# awk ‘条件1{动作1} 条件2{动作2}…’ 文件名
条件(pattren):
一般使用关系表达式作为条件
x > 10  判断变量x是否大于10
x>=10   大于等于
x<=10   小于等于
动作(Action):
格式化输出
流程控制语句

接下来我们以student.txt这个文档作为演示

例1.当{}外面没有指定任何条件,说明整个文件中所有内容都执行这个动作;同时1~n代表第1列到第n列,

例2.用awk命令提取分隔符为空格的列,同时这里用的是print不是printf,两者的区别是printf需要加换行符,print不需要打换行符,自己可以换行。

PS.在Linux系统中没有print命令,只有printf命令,但是在awk命令中两个都有。

例3.BEGIN

我们直接看下面的例子。

BEGIN是写在{}之前的,所以BEGIN是一个条件,只有满足了这个条件动作才会执行。BEGIN的作用是,在读取{printf2"t"2"t"2"t"

例4.FS内置变量

FS是用来指定分隔符的,FS=":"就是指定":"为分隔符

BEGIN的意思就是在读取数据之前,先把分隔符写进去,然后再处理数据

例5.END

在末尾添加你想输出的内容

例6.关系运算符