sort -k 1,1 filea|awk '
BEGIN { first=1}
{if ($1==LAST)
{
result=result&$2
first=0
}
else if
{
if (first==0)
{
print result
result=$0
first=1
}
first=0
}
}
END { print result}' > fileb
将filea中第二列拼接,输出至fileb文件中
#!/bin/bash
####/autorun/aa/yylog是原始数据的路径,自己替换,注意先删除第一行的enbid rsrp,最后结果会加上
count=`cat /autorun/aa/yylog|wc -l`
cat /autorun/aa/yylog|awk '{print $1}' > /autorun/aa/yy2log
let i=0
arr=()
while read line
do
arr[$i]=$line
let i=i+1
done < /autorun/aa/yy2log
len=${#arr[]}
let len=len-1
###进行冒泡排序
for((i=0;i<$len;i++))
do
let len=len-i
for((j=0;j<len;j++))
do
let k=j+1
if [ ${arr[$j]} -ge ${arr[$k]} ];then
temp=${arr[$k]};
arr[$k]=${arr[$j]};
arr[$j]=$temp;
fi
done
done
echo "enbid rsrp">/autorun/aa/yy3log
len=${#arr[]}
for((i=0;i<$len;i++))
do
echo "`cat /autorun/aa/yylog|grep ''${arr[$i]}''`">>/autorun/aa/yy3log
done
如果间隔符固定,并且列与列之间只有一个间隔符的话,间隔符为空格的话,个数无限定。
那么可以用下面这句来实现,就是判断第三列是否为空,如果为空,输出结果
awk -F'\t' '{ if($3=="")print$0}'如果间隔符不是制表符,可以删除-F'\t'
以上就是关于一个文件中有两列,linux上用脚本怎么实现第一列相同的情况下把第二列用&符链接起来全部的内容,包括:一个文件中有两列,linux上用脚本怎么实现第一列相同的情况下把第二列用&符链接起来、Linux中怎么对第一列排序,然后输出的结果把第二列的数据带上。、linux shell中 如何将只含有两列信息的行提取出来等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)