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 赋值给 shell 变量的方法

result='week(now(),-1) 49'; var=`echo $result|awk '{print substr($result,16,3)}'`; echo $var; ...
  • stephen_yin
  • stephen_yin
  • 2011年10月20日 16:33
  • 15719

awk循环读取文件内容,并把字段赋给相应的变量

1.awk功能和实用形式 awk指定读取文件中的某一行的某个字段 awk      可以设置条件来输出文件中m行到n行中每行的指定的k字段,使用格式如下 awk    ‘NR==m,...
  • nyist327
  • nyist327
  • 2014年12月16日 17:08
  • 4751

awk 输出值到多个变量

将awk的多个输出值同时赋值给多个变量
  • resource
  • resource
  • 2015年12月20日 15:16
  • 633

awk按照多个分隔符进行分割

我们知道awk可以进行类似于cut之类的操作,ru
  • hongchangfirst
  • hongchangfirst
  • 2014年05月22日 12:17
  • 54799

把awk中的数组赋值给shell中的数组

把awk中的数组赋值给shell中的数组 博客分类: linux/shell/sed/awk CC++C#JavaScriptBash  方法1,通过eval Shell...
  • hanyingzhong
  • hanyingzhong
  • 2017年05月17日 16:06
  • 1203

awk对行字段进行分割处理

文件如下 a b c 1.2.3.4,5.6.7.8 b b c 2.3.4.5 c b c 2.3.4.5,6.7.8.9 d b c 3.4.5.6 请问如何变成 a b c 1.2....
  • xuejinliang
  • xuejinliang
  • 2016年08月31日 18:04
  • 1072

awk行赋值处理

有文件如: /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% /v...
  • xuejinliang
  • xuejinliang
  • 2016年08月31日 15:46
  • 625

awk与shell变量互相赋值

一、awk给shell变量赋值 #!/bin/bash var=`ls -l file.txt | awk '{print $5}'` echo $var ...
  • heiniu426
  • heiniu426
  • 2016年01月09日 10:35
  • 227

awk处理跨行(多行)记录的文件

https://www.gnu.org/software/gawk/manual/html_node/Multiple-Line.html设置RS=""; FS="\n",表示field sepera...
  • yhcharles
  • yhcharles
  • 2017年02月01日 23:20
  • 1421

Linux awk 只处理第一个匹配的行与只处理指定行

AWK技巧: 1、awk只处理第一个匹配的行,匹配后使用exit命令退出处理: awk '/version/{print $1;exit;}' input.txt 处理3个匹配行后结束处...
  • hongweigg
  • hongweigg
  • 2016年09月08日 11:23
  • 4508
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:awk行赋值处理
举报原因:
原因补充:

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