linux下两个文件想合并如何通过shell *** 作

linux下两个文件想合并如何通过shell *** 作,第1张

写在一条命令里有点复杂哦。合并结果保存到文件3中。

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、文件成功合并完成。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7105831.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-01
下一篇2023-04-01

发表评论

登录后才能评论

评论列表(0条)

    保存