AWK怎么检查文件1的某一列在文件2中,并输出这一列 40C

比如文件1
name count
a 2
a 3
a 5
b 3
c 4
d 5
e 6
f 2
g 2
h 3
k 2

文件2
name
a
g
k

输出
name count
a 2
a 3
a 5
g 2
k 2
因为这些都是出现在文件2里面的

0

1个回答

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的。是时候展现真正的技术了!
其他相关推荐
用 awk 统计文本文件中的某一列之和 (附 awk 命令简介)
awk -F'\t' -v sum=0 '{sum += $1} END{print sum}' file_name 统计输出结果的最后一列之和: result | awk -F'\t' -v sum=0 '{sum += $NF} END{print sum}' 附: awk 命令简介 Unix / Linux 系统中,多用纯文本文件表示一些带格式的内容,比如就像数据库里
shell awk 脚本中怎么使某一列都增加一个数,这一列的数是不同的
shell脚本中怎么使某一列都增加一个数,这一列的数是不同的 匿名 | 浏览 114 次|举报违规检举侵权投诉 发布于2016-08-31 15:32 #荒漠探险-答题闯关 好礼连连# 最佳答案 1、如果单纯的打印增加一个数就简单些,比如a.txt第二列要增加100. cat a.txt|awk '{print $2+100}' 2、如果
awk删除文件的某一列
cat file |awk ' { $5=null;print $0 }'
使用awk命令获取文本的某一行,某一列
1、打印文件的第一列(域)                 : awk '{print $1}' filename 2、打印文件的前两列(域)                 : awk '{print $1,$2}' filename 3、打印完第一列,然后打印第二列  : awk '{print $1 $2}' filename 4、打印文本文件的总行数                :
[shell/awk]按列求和
在Shell中,我们可以用awk实现按列求和的功能,非常简单。看下面的例子: 1.简单的按列求和 [linux@test /tmp]$ cat test 123.52 125.54 126.36 [linux@test /tmp]$ awk '{sum += $1};END {print sum}' test
Linux:使用awk命令获取文本的某一行,某一列
1、打印文件的第一列(域) : awk '{print $1}' filename 2、打印文件的前两列(域) : awk '{print $1,$2}' filename 3、打印完第一列,然后打印第二列 : awk '{print $1 $2}' filename 4、打印文本文件的总行数 : awk 'END{print NR}' filename 5、打印文本第一行 :awk 'N
用awk命令计算文件中某一列的总和
<br />用awk命令计算文件中某一列的总和: awk 'BEGIN{sum=0}{sum+=$1}END{print sum}' test1.log
shell 指定列相除
awk '{print=($4=$8/$4)}' fileName
用awk一些常用技巧sort uniq
统计文件中第一列中同一IP出现的次数 cat test 123.122.123.12 12121212 121.2332.121.11 232323 255.255.255.255 21321 123.122.123.12 12121212 123.122.123.12 1212121er2 123.122.123.12 12121212eer 123.122.123.12 1
使用awk给文件增加一列以及sed使用例子
sed偏向于整行的处理文件。而awk偏向文件分为多个字段。 -------------------------------------------------------------------------- 最近简单看了awk(虽然很久之前看过) awk中,域分隔符,使用-F参数来设置,比如说-F',',就是设置逗号为分隔符。也可以在其他位置设置,比如说, -------------
使用awk求指定列的最大值最小值
需求:一文件内容如下,求第一列的最大值和最小值 1 1220 2 1221 3 1222 3 1223 4 1224 5 1225 12 1226 12 1227 12 1228 12 1229 12 1230 命令如下 求最小值: sed '/^$/d' test.txt|awk 'NR==1{min=$1;next}{min=min 求最大值: sed '/
AWK--根据条件修改某一列的值
现有如下的数据: 要求将最后一列的0,1,2分别替换为相应的lable标签,即 0–Setosa,1–Versicolor,2–Virginica。 首先想到的便是awk,awk可以很方便地获取某一列的内容并对其进行修改。 简单回顾下AWK的用法: $0 &amp;nbsp;&amp;nbsp;&amp;nbsp; 表示整个当前行 $1 &amp;nbsp;&amp;nbsp;&amp;nbsp; 每行...
awk如何取出它的每一行和某一列的某个元素
我自己举例吧:   NR==2,指定第二行,NR(Number of Record,记录数,awk中默认一行为一个记录) print $3,打印第三列 最后输出第二行第三列的元素。 ============================================================= awk进行列求和【awk '{a+= $0}E
linux shell命令awk 提取文档第一列内容
1. 原文档内容格式: 词组 拼音 次序 阿爸 a1'ba4 18137 阿昌族 a1'chang1'zu2 50849 阿斗 a1'dou3 42632 阿飞 a1'fei1 48603 阿富汗 a1'fu4'han4 3461 阿訇 a1'hong1 34432 阿拉伯数字 a1'la1'bo2'shu4'zi4 35937 阿拉伯语 a1'la1'
awk 文件a中包含的文件b的某列
如: awk -F'\t' 'ARGIND==1{arra[$1]}ARGIND>1{if ($1 in arra) ; else nomatch[$1]++ } END{for(i in nomatch) print i}' 4.matched 4.match >4.nomatched 在4.match中存在却不在4.matched中存在的去重后输出到4.nomatched,这里只用
awk打印除某列之外的所有列
awk '{ $3=&quot;&quot;; print $0 }'   a.txt 将某列置为空,然后打印所有列。
awk删除文件最后一列
使用awk删除用特定分隔符分割的文件的最后一列 该文件以“:”分隔符 绿色标识的为文件的最后一列 [root@localhost zhaoyj]#cat file.txt Mike Harrington:[510] 548-1278:250:100:25 Christian Dobbins:[408] 538-2358:155:90:78 Susan Dalsass:[2
Linux之awk命令查找文件中某列的值,符合内容进行筛选。
执行ps -eLf  &amp;gt; /root/ps.log ,查找文件中,父进程等于1的内容cat /root/ps.log | awk '($3==&quot;1&quot;){ print}'  cat /root/ps.log | awk '{if ($3==&quot;1&quot;) print}' 
读取文件某一列的代码存储到新文件中
1.文件中有图像名称和图像标签对应的两列内容,只读取文件的第一列存储到一个新的文件中,如图所示为data1.txt的内容 Python实现该功能的代码如下 import pandas as pd import pickle as pk result=[] f = open('data1.txt') for line in open('data1.txt'): line = f...
awk按照某个字段排列,求某个列的最大值最小值
file FFF;2011-10-1;2011-10-1 0:00 ;4.57389 FFF;2011-10-1;2011-10-1 0:15 ;4.33278 FFF;2011-10-2;2011-10-2 12:45;5.95446 FFF;2011-10-2;2011-10-2 15:00;6.21554 FFF;2011-10-3;2011-10-3 16:15;6.11111
请问:如何在文本文件中追加一列?awk字符串比较
http://bbs.chinaunix.net/thread-582846-1-1.html 如:有一test.txt文件,内容如下 1      a 2      b 3      c 如何在此文件中追加一列内容,使文件变成 1      a     aaa 2      b     bbb 3      c     ccc 请问:如何在文本文件中追加一列
awk统计文本中同一数据出现的次数排序(转)
突然发现awk原来可以统计同一数据在要处理的文件中所出现的次数.原来的时候 为了分析数据还自己写程序,哎,无语,当时还以为自己多强,手工分析不过来的东西写程序处理.现在想来实在是年少轻狂.解决问题嘛,不讲究方式,只要快速 高效的完成任务就OK了.好,今天小试牛刀统计了一下passwd文件中shell部分重复的shell名和出现的次数,看命令:$awk -F: '{a[$7]++}END{for (i
[awk点滴]对某一列数据去重
# tail -100 invoice.log  2014-08-05 10:00:03,105 - invoice - ERROR - 22038 - total_amount_is_0| failure |bill_confirm id is 1351 2014-08-05 10:00:03,159 - invoice - ERROR - 22038 - total_amount_is_0
AWK如何打印从某一列到最后一列的内容
数据文件内容如下: 2013/01/21 16:29:07 [158] cd+++++++usr_bin/new/ 2013/01/21 16:29:07 [158] cL+++++++ usr_bin/new/new -> /usr/bin/new 2013/01/21 16:29:07 [158] cd+++++++ usr_bin/usr_bin/ 2013/01/21 16:29:
Linux -输出文本中的最后一列内容
1,命令:awk '{print $NF}' filename 2,输出每一行的数据个数      命令:awk '{print NF} 'filename
利用shell中awk和xargs以及sed将多行多列文本中某一列合并成一行
一、问题描述 最近需要利用Shell将多行多列文本中某一列,通过指定的分隔符合并成一行。假设需要处理的文本如下: 我们主要处理的是,将用户名提取处理,合并成一行,并通过逗号进行分隔。最终的格式如下: “li1”,”huan”,”wang”,”wu”,”78c”,”zh”,”liu”,”zhao”,”xu”,”yang” 二、解决方案 首先是提取每一行的第X列,我最先能够想到的是a
shell 取出第一列相同但第二列不同的行
需求 处理前:   小明   234   小方   235   小明   234   小明   345 处理后 小明   234 小明   345 解决方案1: awk '!a[$1]++{s[$1]=$0;b[$1$2]++;next} a[$1]++&&!b[$1$2]++{s[$1]=s[$1]!=""?s[$1]"\n"$0:$0;print s[$1];s[$
awk 统计文本中某一字段的sum
suoyo awk 'BEGIN {count=0} {count+=$4;} END {print "total bytes is :",count}' test_a.txt
awk按照一定顺序输出某列
cat revenue_20160412.dat | awk -F"\t" '{print $4 | "sort -r -n"}' 通过管道,发送到外部程序“sort”排序,-r 从大到小,-n 按照数字排序。
linux之awk命令获取最后一列
统计分析中经常用的awk命令,其中用的最多的还是切分 cat  test | awk -F',' '{print $1,$2} 能够很好的将记录按照需要切分开, 但是如何获取最后一列呢? 可以使用awk -F',' '{print $NF}' 来获取,mark一下
删除文件的第一列 -Linux
删除文件 text中第一列  方式一    awk '{$1="";print $0}' text 方式二      sed -e 's/[^ ]* //' text
awk 计算某一列的不同值的数量
今天面试叕叕碰到awk的题了,同样一个寒假把awk也忘光了,但是凭着记忆还是写出来了。大家一定要记得,学而时习之,不亦说乎;要常用,才能手到擒来新建一个awk.txt文件吧,内容如下,一切从简1 one 2 two 3 one 4 two计算这个文件的某一列不同值的种类数量awk '{count[$1]++;count2[$2]++}END{print length(count),length(c...
awk 替换文本中某一字段
#cat $fileinp| awk '/$varkey/{$3=$var1}1{print $0}' filetmp ;mv filetmp $fileinp   #cat $fileinp | grep 'Basis_ome_bat' | awk '$3="222" {print $0}'    ### awk '/Basis_ome_bat/{$2=$2+300}1' file 1
shell 查找最后一列为0行并处理掉
#!/bin/sh if [ $# -ne 1 ];then echo "Enter Parameter……" echo "eg: QueryFailLine.sh FileName" else `cat $1 |awk '/\t-1\r$/ {print $0}' |sed -n 's/\t-1\r$//gp' > /tmp/${1%%.*}fix.txt` #查询以-1结尾的行并将-1这一列去掉
提取txt或csv文件的一列
使用命令:awk -F"," '{print $1}' a.txt awk -F"," '{print $1}' a.csv可以提取文件的第一列。其中每一列是以“,”为分界符的。 以上就是提取txt或csv文件的一列的方法。
[Linux]结合awk列举大于指定容量大小所有文件目录
结合awk列举大于指定容量大小所有文件目录
awk 指定列 排序 去重统计
hadoop fs  -text  /////20170205/00/*   | awk  '{print $2}'  | sort | uniq  | wc -l
Linux技巧--删除某列
1. 先指定替换需要删除的列 ## 删除逗号分隔的文件test中的第二列 cat ./test | awk -F, '{$2=null;print $0}' 2. 使用AWK的输出分隔符,进行替换分隔符 awk 'BEGIN{OFS=&amp;quot;,&amp;quot;;}{print $1,$2,$3,$4,$5,$6}' &amp;amp;gt; ./test_2 3. 总结 cat ./test | awk -F, '{$2=nul...
linux 下删除文件中的前三列 (也就是取第四列到最后一列的内容)
1,命令:              awk '{$1="";$2="";$3="";print $0}'  filename >> newfile              将第一列,第二列,第三列置空,重定向到一个新的文件中
AWK实现两文本关联join
背景: join是数据处理领域中非常经典的技巧,绝大多数数据库都支持该用法,现在我们研究下AWK命令是如何实现 join的~ 我们先看看awk中的两个自身变量,NR 和 FNR。 awk可以指定同时读取多个文件,按照指定的先后顺序,逐个读取。 NR 指的是awk所读取到所有记录(包括多个文件)的行数索引号,大概是Number Of Record的意思。 FNR 指的是awk所读取到...