Chinaunix

标题: 求助一个awk数组的问题 [打印本页]

作者: xiaohaofancy    时间: 2011-03-21 21:16
标题: 求助一个awk数组的问题
问题是这样的:现在有两个文件 f1 和 f2
我在对 f1 进行awk操作的过程中,得到一个awk数组D。
现在我想在对 f2 进行awk操作时使用这个数组D,请问有什么方法吗?

谢谢~~
作者: 网中淫    时间: 2011-03-21 21:41
两个文件一起读,用NR,FNR来判断,还有其他方法。
作者: Shell_HAT    时间: 2011-03-21 22:17
  1. awk '{if(FILENAME=="file1")a[$0]=1;else{if(a[$0]!=1)print $0}}' file1 file2
复制代码
  1. awk 'NR==FNR{a[$1]=$1}NR>FNR{if(!($1 in a)){print $1}}' file1 file2
复制代码
  1. awk 'NR==FNR{a[$1]++}NR>FNR&&!a[$1]++' file1 file2
复制代码
  1. awk 'ARGIND==1{a[$0]}ARGIND>1&&!($0 in a){print $0}' file1 file2
复制代码

作者: L_kernel    时间: 2011-03-21 22:55
两种方法。
ARGIND变量的值,这个可以处理多个文件。

NR和FNR变量,这个似乎只能处理两个文件。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2