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个回答

1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
用awk命令计算文件中某一列的总和
<br />用awk命令计算文件中某一列的总和: awk 'BEGIN{sum=0}{sum+=$1}END{print sum}' test1.log
shell awk 脚本中怎么使某一列都增加一个数,这一列的数是不同的
shell脚本中怎么使某一列都增加一个数,这一列的数是不同的 匿名 | 浏览 114 次|举报违规检举侵权投诉 发布于2016-08-31 15:32 #荒漠探险-答题闯关 好礼连连# 最佳答案 1、如果单纯的打印增加一个数就简单些,比如a.txt第二列要增加100. cat a.txt|awk '{print $2+100}' 2、如果
用 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 系统中,多用纯文本文件表示一些带格式的内容,比如就像数据库里
使用awk去掉文件中某列重复的行
原数据文件test格式如下: 30/Nov/2014:09:30:42    192.168.0.112_-54eb28a7_149fe14728b_-1e07|1417309903531 FI|T|Tf|BBB 30/Nov/2014:09:30:42    192.168.0.112_-54eb28a7_149fe14728b_-1e07|1417309903532 FI|T|Tf|QQQ
awk按照一定顺序输出某列
cat revenue_20160412.dat | awk -F"\t" '{print $4 | "sort -r -n"}' 通过管道,发送到外部程序“sort”排序,-r 从大到小,-n 按照数字排序。
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点滴]对某一列数据去重
# 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删除文件的某一列
cat file |awk ' { $5=null;print $0 }'
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
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求指定列的最大值最小值
需求:一文件内容如下,求第一列的最大值和最小值 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 '/
[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文件按某列排序取top 有关awk
目标: Hive中的数据, 按照每个类目用户的总流量大小排序. 现在需要取出每个类目的top10. Hive中使用order by categoryId, traffic desc来对数据排序, 但没办法对每个categoryId取top. 因为limit是对整个最终结果产生影响, 所以不能用limit来做. 最后决定导出文本, 使用awk来取top10. 脚本: hive ...
AWK按条件合并两个文件
awk的数据输入有两个来源,标准输入和文件,后一种方式支持多个文件。如:1. shell的Pathname Expansion方式:awk '{...}'  *.txt #  *.txt先被shell解释,替换成当前目录下的所有*.txt,#  如当前目录有1.txt和2.txt,则命令最终为awk '{...}' 1.txt 2.txt2. 直接指定多个文件: awk '{...}' a.txt...
使用awk命令获取文本的某一行,某一列
1、打印文件的第一列(域)                 : awk '{print $1}' filename 2、打印文件的前两列(域)                 : awk '{print $1,$2}' filename 3、打印完第一列,然后打印第二列  : awk '{print $1 $2}' filename 4、打印文本文件的总行数                :
linux中awk排除某列输出的实现示例
linux中awk排除某列输出的实现示例awk是一款不错的工具了我们可以利用awk来进行筛选了下面我们一起来看一篇关于awk排除某列输出一个命令操作方式,具体的如下。awk工具在文本处理上非常强大,我们常用的用法是选择某列输出,如print $1,$3 。不过在特殊的情况下,也会遇到只排除例个某列,其他列都正常输出 。针对 awk排除某列,这里就做个小总结。 比如我的文件如下:[root@361w
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命令找出某个字段(关键字)在文件中某一行的第几列
如,用awk命令找出&quot;duration&quot; 这个关键字在文件第一行的第几列 head -1 common_fraud_samples_bad_merged_cp.txt | awk -F ',' '{for (i=1;i&amp;lt;=NF;i++) {if ($i==&quot;duration&quot;) {print i}}}'  ...
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指定列修改
awk的用法
生信(五)awk求取某一列的平均值
关键词:awk awk是生信人必须要掌握的命令行工具。为啥?因为它太强大了。我们举一个例子来说明。 假设我们有一个1000万行的文件,大概长这样: 怎么求第四列的平均数呢? Python版本 我们可以用几行Python代码解决,比如这样: 其耗时: R版本 用R来做计算也是很适合的,比如像这样: 其耗时: awk版本 awk用一行代码就可以解决问题,像这样(注意耗时): 至此,我们可以...
awk将文件某个列按照逗号分隔
概述 当我们在处理线上故障的时候,经常会从数据库表查询出某个列。 select product_id from order where user_id = 111; 查询出来的结果形式如下: 1 2 3 4 5 这个时候,我们通常会以 product_id in (1,2,3,4,5) 的形式去查找商品表,找出商品的详细信息。那么如何得到这个(1,2,3,4,5)呢。一种简单的做法就是利用...
Linux 使用awk的split函数来去掉文件中某个字段的某一部分
这里有一个文件如下:  我需要去掉前面的lane,那么我们来分析一下使用shell来解决的思路,grep和sed命令都是针对整行的内容进行提取的,因此无法对一行中的某个字段的内容进行修改,因此我们使用awk来解决这个问题,awk中有一些内置的方法,这里使用split来拆分字段,split()接收三个参数,第一个参数是字段,第二个参数是拆分后的数组名称,最后一个参数是separator分隔符,这里...
awk如何取出它的每一行和某一列的某个元素
我自己举例吧:   NR==2,指定第二行,NR(Number of Record,记录数,awk中默认一行为一个记录) print $3,打印第三列 最后输出第二行第三列的元素。 ============================================================= awk进行列求和【awk '{a+= $0}E
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...
shell脚本使用之awk按列求平均值(含最大,最小值)
使用Linux命令的awk工具 delay_avg.sh脚本内容如下所示: #!/bin/sh RESPONSEFILE=$1 if [ $# -ne 1 ] then         echo &quot;usage: ./delay_avg.sh named.response.X &quot; else  {   cat $RESPONSEFILE |awk -F '|' '{print$6}'  &amp;gt;&amp;...
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:
awk文件每一行所有列数据求和
问题描述: 文件每一行的所有列累加得到总和   例如: 1  3  5 2  4  6 得到 9 12   $ awk 'BEGIN{a[$1]=0}{for(i=1; i&amp;lt;=NF; i++) a[$1]+=$i}END{for(j in a) print j&quot; &quot; a[j] &amp;gt; &quot;output.dat&quot;}' &amp;lt;input.dat  ...
请问:如何在文本文件中追加一列?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 两个文件的两个列若相同,合并两个文件
1.文件1 [root@bi-3 bin]# cat push  TCL_P728M       TCL     74eda717a4aef660f362f1806eb85d9d TCL_S720_JB2    TCL     ecb6724875f6361466f4e91df603f06c TCL_P728M       TCL     f654f6d4f2157a658c0d7f688
python读取csv文件,并根据某一列值输出另外一列值
 csv.DictReader()读取和加载文件,然后根据一列的值处理另外一列的值。 代码很简单,看看就知道啥意思了。 # -*- coding:utf-8 -*- #author:zgd import pandas import csv with open(&quot;url_features_3_zgd.csv&quot;, 'r') as f: train_csv = csv.DictReade...
awk 统计文本中某一字段的sum
suoyo awk 'BEGIN {count=0} {count+=$4;} END {print "total bytes is :",count}' test_a.txt
使用sed和awk命令删除第一列
使用sed和awk命令删除第一列 1.采用awk awk '{$1="";print $0}'  file 2.采用sed sed -e 's/[^ ]* //'  file   注意这里awk与sed只是用于流显示,并不会真正将改动写入到文件中,如果想存储改动后的文件,可以用重导向实现。
Shell-awk输出的列输入数组
array=($(ps -ef|grep tlda |awk '{print $2}'))echo ${array[@]}
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}' 
awk按列合并示例
需求:将如下文本按第一列为主key,将相同的第二列值追加到同一行cat input.log ofB8Mt-5i_308H0LALOc-tsk1Aqg 2488 ofB8Mt-5i_308H0LALOc-tsk1Aqg 2620 ofB8Mt-j2usddmbu5_WrL3xitQ4o 2551 ofB8Mt-j2usddmbu5_WrL3xitQ4o 2582 ofB8Mt00DhYwMOpJvG...
使用awk给文件增加一列以及sed使用例子
sed偏向于整行的处理文件。而awk偏向文件分为多个字段。 -------------------------------------------------------------------------- 最近简单看了awk(虽然很久之前看过) awk中,域分隔符,使用-F参数来设置,比如说-F',',就是设置逗号为分隔符。也可以在其他位置设置,比如说, -------------
根据文件的某一列的值满足条件,取出一行的内容
今天遇到的一个问题:线上出错的小库号已知需要定位到具体的流,这些流里面的所有小库数据都需要进行重跑:类似于这样的文件,有三列数据,根据第一列的值,抽取出第三列range信息cat fileA | awk '{FS=" "}{if ($1=='19618'){print $3}}' >> new_file若是查找一行则这样,查找多行呢?就在外面加一个while循环,需要查找的数据保存在一个文件B里面,
awk统计文本中同一数据出现的次数排序(转)
突然发现awk原来可以统计同一数据在要处理的文件中所出现的次数.原来的时候 为了分析数据还自己写程序,哎,无语,当时还以为自己多强,手工分析不过来的东西写程序处理.现在想来实在是年少轻狂.解决问题嘛,不讲究方式,只要快速 高效的完成任务就OK了.好,今天小试牛刀统计了一下passwd文件中shell部分重复的shell名和出现的次数,看命令:$awk -F: '{a[$7]++}END{for (i
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这一列去掉
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java并发包学习2 web文件怎么转视频教程