mtwm.net
当前位置:首页 >> 请教在Awk中如何根据特定字段进行排序 >>

请教在Awk中如何根据特定字段进行排序

比如你有以下文件infile: a,b,c,d,e,fa,e,c,d,e,fa,e,g,d,e,fa,f,c,d,e,fa,a,c,d,e,f你想按第二列进行排序: awk 'BEGIN{ FS=","}{ ary[$2,NR]=$0}END{ nrw=asorti(ary, newary) for(i=1;i

从这段uboot环境变量中匹配出root=/dev/mtdblock6,sed比较适合干这事: str='update_args=setenv bootargs console=ttyS0,115200n8 ip=$(ipaddr):$(serverip) root=/dev/mtdblock6 rw rootfstype=jffs2 mem=64M video=davincifb:vid0=OFF:vid1=...

tag="TPP"cat file|awk -v tag=$tag 'BEGIN{a=0}$1==""{a=1}a==1{print $0 >>tag".tmp"}$1==""{exit}'这里的tag也可以设成从脚本参数进行赋值 思路:设置一个变量,开始是0(也可以设置成字符等),遇到,变量改变成1 后面只要a==1就将此行(整...

awk如何取出匹配的字段 uboot环境变量中匹配出root=/dev/mtdblock6,sed比较适合 str='update_args=setenv bootargs console=ttyS0,115200n8 ip=$(ipaddr):$(serverip) root=/dev/mtdblock6 rw rootfstype=jffs2 mem=64M video=davincifb:vid0=O...

#!/bin/bash awk -v"line=$1" '{ if(NR==line) print }' test.list 如果把上述代码存成a.sh,你输入a.sh 1就输出第一行,a.sh 2就是输出第二行,依次类推。希望对你有帮助。

这个。。awk是重新整理和组合字段的,在获取字段方面不是很好,你可以使用grep来筛选出来

awk 'NR==FNR{a[$1]=$2;next}{if($1 in a)print $0,a[$1]}' file1 file2或者直接用joinjoin file2 file1

cat a.txt |awk '{if ($1=="XXXX") print $0}'|awk '{if ($2=="XXXX") print $0}' >b.txt

sed -r 's/^(.*),(.*),(.*)$/\1,\3,\2/' 1.txt

awk '{print $NF}' 文件名 NF表示当前行总字段数,$NF就是行的最后一个字段

网站首页 | 网站地图
All rights reserved Powered by www.mtwm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com