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就是把文件逐行的读入,以空格为默认分隔符将每行切片...

awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

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

AWK_样式扫描和处理语言

  • 2014年10月17日 10:33
  • 392KB
  • 下载

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是一种优良的文本处理工具

  • 2011年08月12日 10:17
  • 27KB
  • 下载

AWK文件处理总结

  • 2011年10月27日 10:32
  • 49KB
  • 下载

awk与shell变量互相赋值

一、awk给shell变量赋值 #!/bin/bash var=`ls -l file.txt | awk '{print $5}'` echo $var ...

linux文本处理工具awk命令详解

  • 2017年10月28日 19:33
  • 276KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:awk行赋值处理
举报原因:
原因补充:

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