bash shell 循环提问

lee0221 2010-08-13 01:34:41
我想比较2个文件 第一个文件格式为 NM542:ys66Oq4xd9tac 第二个文件的格式为 M033:李凯夫:总务课
这两个文件都有很多列。我想把第一个文件的第一列去和第二个文件的第一列比较(NM542是否和M033相同)。如果比较结果相同,把第二个文件中的这一行,输出到一个新的文件中去。
...全文
101 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
masmaster 2010-08-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lee0221 的回复:]
我试了一下好像不行,什么都没有回应。
[root@shpdl380prx1 nm308]# awk 'a[$1]++{print >"testfile"}' proxypasswd 04.txt
[root@shpdl380prx1 nm308]#
[/Quote]
没反应证明没出错,结果在文件testfile中。
never517 2010-08-26
  • 打赏
  • 举报
回复
awk -F\: '{
if(FILENAME=="FILE1")
{arr[$1]=$1
}
if(FILENAME=="FILE2")
{
if($1 in arr)
print $0
}
}' FILE1 FILE2 >NEWFILE
bruclan 2010-08-21
  • 打赏
  • 举报
回复
open(NM542, "NM542") || die;
open(M033, "M033") || die;
open(M033BAK, ">M03302Bak") || die;

while($line1 = <NM542> and $line2 = <M033>) {
print M033BAK $line2 if $line2 =~ /$line1/;
}

保存为bak.pl就OK了
lee0221 2010-08-17
  • 打赏
  • 举报
回复
我试了一下好像不行,什么都没有回应。
[root@shpdl380prx1 nm308]# awk 'a[$1]++{print >"testfile"}' proxypasswd 04.txt
[root@shpdl380prx1 nm308]#
steptodream 2010-08-13
  • 打赏
  • 举报
回复
楼上的awk真强大
masmaster 2010-08-13
  • 打赏
  • 举报
回复
try:
awk 'a[$1]++{print >"newfile"}' file1 file2

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧