awk逐行拼接两个文件的内容

awk逐行拼接两个文件的内容

最近给数据库导数据时,遇到需要把两个数据文件逐行拼接为一个文件,想起好基友awk来了,之前只请它帮忙搞基过从数据行中提取某几列数据,但还没试过从多个文件中合并数据的搞法。但我相信这位好基友,肯定还有很多搞基的花样,那就借这次机会,钓一下它的鱼 :|)

具体是这样的,有两数据文件file1,file2
file1内容:

我是鱼饵
我还是鱼饵
你是鱼饵
你不是鱼饵

file2内容:

123
456
666
000

逐行合并后的内容:

我是鱼饵-123
我还是鱼饵-456
你是鱼饵-666
你不是鱼饵-000

当把上面的条子递给awk后,只听它喃喃自语道:一个前面,另一个后面,中间杠一下,他妹的怎么要杠一下……

忽然听得“啪”的一声,空中打了个响指,接着听见awk喊“有了”,回头告诉在一旁懵B的我,如此如此、这般这般一番,那百撕不得其姐的问题,就解决了。边说边在纸上写下来,然后递给了我。我接过来一看,只见短短的,廖廖数语:

awk '{ printf $0; getline<"file2"; print "-"$0 }' file1.txt > file12.txt

awk看着满脸狐疑的我,说了句莫名其妙的话:莫以长短论英雄,去吧。

果然,按照它的法子,那上百万条记录,没怎么费力就处理完了。对awk搞基的本事更加崇拜了。

你可能感兴趣的:(awk逐行拼接两个文件的内容)