有文件如:
/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用的很好。