linux合并两个文件不重复

标签 c linux shell awk

我有两个文件 file1 和 file2

file1 的内容是

Hello
  how
are you
when can i meet you
film??

file2的内容是

Hello 
how 
are you
darling
when can i meet you

我想生成一个文件,它是两个文件的组合

Hello
how
are you
darling
when can i meet you
film??

注意:file1第二行的空格在最终文件中应该被忽略 C 或 Linux 中是否有任何内置函数来完成上述以下工作,或者是否可以编写脚本来执行此操作?

最佳答案

awk 的简单工作:

$ awk '{$1=$1}!u[$0]++' file2 file1
Hello
how
are you
darling
when can i meet you
film??

或者如果你不关心输出的顺序:

$ sed 's/^\s*//' file1 file2 | sort -u 
are you
darling
film??
Hello
how
when can i meet you

关于linux合并两个文件不重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14233619/

相关文章:

linux - 如何使用shell脚本在单行中切换用户

c++ - SSE/AVX 寄存器的非零字节索引

c - 结构内存分配方式

用 VS2012 编写的 C 程序适用于 Win7/8/2008R2/2012,但不适用于 2003/XP/32 位?

linux - MonoDevelop 不工作(安装了 xterm)

linux - shell脚本中if else语句中的多个语句

bash - 在用于转换 jpg、JPG 和 jpeg 文件的 for 循环中获取多个扩展名

C变量赋值给数组元素

linux - 递归更改文件夹和子文件夹中的文件名而不更改文件路径

bash - Shell:复制具有完整文件夹结构的文件列表,从文件名中剥离 N 个前导组件