awk行赋值处理

原创 2016年08月31日 15:46:57

有文件如:

/vol/VSM_VM_A1_root/ 972 0 972

51 1 50 2%

/vol/VSM_VM_A1_root_ls/ 972 0 972

51 1 50 2%

/vol/sas_vm_a1/ 9961472 1833235 8128236

/vol/nfs_182_248_53_219/   

204800 295 204504 0%

想处理为:当$1为数字时,将上一行的$1插入前面,如

/vol/VSM_VM_A1_root/ 972 0 972

/vol/VSM_VM_A1_root/ 51 1 50 2%

/vol/VSM_VM_A1_root_ls/ 972 0 972

/vol/VSM_VM_A1_root_ls 51 1 50 2%

/vol/sas_vm_a1/ 9961472 1833235 8128236

/vol/nfs_182_248_53_219/   

/vol/nfs_182_248_53_219/ 204800 295 204504 0%

处理

awk ‘/^[0-9]/{$0=a” ”$0}{a=$1}1’ file

解析:

如果是数字开头的行那就就输出变量a和整行的值,如果是

变量a的值就是最近不是以数字开头的行的第一个字段的值。

后面的action a=$1用的很好。

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

awk处理命令行参数

ARGV awk可以从内置数组ARGV中得到命令行参数,其中包括命令awk。但所有传递给awk的选项都不在其中。ARGV数组的下标从0开始。 ARGC ARGC是一个包含命令行参数个数的内置变量。 ...

awk-好用的行级数据处理工具

awk简介: awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Awk里的域赋值操作和部分源码解析($1=$1,$0=$0,FS,OFS)

前言:cu上出了个shell题:http://bbs.chinaunix.net/thread-2319120-1-1.html第八题:GNU awk的$1=$1到底有什么作用?$0=$0呢?这题问...

awk赋值操作符

一旦变量被赋予了一个值,那么就可以用这个变量名来引用这个值。下面的表达式表示将变量x的值和1相加并将结果赋给变量y: y = x + 1 即计算x加1的值,并将结果赋给变量y。语句...

awk 运算符(算术运算符,赋值运算符,关系运算符,逻辑运算符,正则运算符)说明

awk 运算符(算术运算符,赋值运算符,关系运算符,逻辑运算符,正则运算符)说明 awk作为文本处理优秀工具之一,它有独自丰富的运算符。下面我们一起归纳总结一下,所有运算符。 可以分为:算术...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)