Chinaunix
标题:
awk 多文件获取内容并输出?
[打印本页]
作者:
iamkey9
时间:
2011-09-11 20:39
标题:
awk 多文件获取内容并输出?
本帖最后由 iamkey9 于 2011-09-11 20:54 编辑
目录下有大概50个文件,其格式为:
......
10.69.241.66 Sun Sep 11 19:57:40 2011 Packets: Sent = 381318, Received = 367247, Lost = 14071 (3% loss),
.....
现在要求取每个文件的内容,后组合为
...
文件名1 Sun Sep 11 19:57:40 381318 367247 14071 3% 文件名2 Sun Sep 11 19:57:40 381318 367247 14071 3% 文件名3 ......
...
不同文件中的时间日期不要求统一,类似 paste -d " " file* > out3 ,但是 paste无法获取文件名
求AWK多文件操作指导
作者:
zooyo
时间:
2011-09-11 21:33
提示:
作者被禁止或删除 内容自动屏蔽
作者:
ljwd1000
时间:
2011-09-11 22:04
回复
2#
zooyo
老兄,真够热心的。过节也不忘CU呀
作者:
mpstat
时间:
2011-09-13 10:22
没看懂。
lz是要把所有的列并成一行么
作者:
FaintKnowledge
时间:
2011-09-13 11:15
本帖最后由 FaintKnowledge 于 2011-09-13 11:17 编辑
回复
1#
iamkey9
笨方法:
awk '{getline a< "file2";print FILENAME,$0,"file2",a}' file1 | sed '2,$s/\(.*\)file1\(.*\)file2\(.*\)/\1 \2 \3/g' ######\1\2\3之间的空格的长度等于文件名字的长度,例如file1,就是有5个空格
awk '{getline a< "file2";print FILENAME,$0,"file2",a}' file1 | awk 'NR==1{print }NR>1{$1=" ";$3=" ";print $0}' #####$3指的是file2那一列...
有文件可以继续加... {getline a< "file2";getline b < "file3";print FILENAME,$0,"file2",a,"file3", b},依次类推
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2