
awk -F'*' 'NR==FNR{a[FNR]=$1b[FNR]=$2c=FNR}NR>FNR{flag=0for(i=1i<=ci++){if($2==b[i]){print a[i] $2flag=1break}}if(flag==0)print}' file2 file1 >file3
思路:
以 * 作为字段分隔符,将每行记录分割为两个字段。
1. 将文件2每行记录的两个字段分别以数组形式保存下来,并记录行数。
2. 对于文件1中的每一行,使用for循环与上一步记录的文件2的字段2数组对比。若相同,则打印文件2的字段1和文件1的字段2。若不同,则打印文件1中的原记录。最后的合并结果保存到文件3中。
试过OK。
工具/原料
Linux 电脑
方法/步骤
1、首先,在Linux下创建两个文件,文件名分别为file1、file2。
2、然后,用vim打开需要合并的文件,将光标移到到文件最后一行点击一下。
3、进行Vim命令模式,执行命令r file2将file2的内容复制到file1的后方。
4、文件成功合并完成。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)