linux中怎么将文件合并
方法一:使用cat命令从文件中读入两个文件,然后将重定向到一个新的文件。这种方法可以一次性合并任意多个文件。
用法示例:
将file1.txt和file2.txt合并到file.txt
$ cat file1.txt file2.txt > file.txt
方法二:只使用cat命令读入一个文件,然后使用>>将文本流追加到另一个文件的末位。
用法示例:
将file1.txt追加到file2.txt的末尾
$ cat file1.txt >> file2.txt
扩展资料:
反之分割文件
linux下文件分割可以通过split命令来实现,可以指定按行数分割和安大小分割两种模式。Linux下文件合并可以通过cat命令来实现,非常简单。
1、在Linux下用split进行文件分割:
模式一:指定分割后文件行数
对与txt文本文件,可以通过指定分割后文件的行数来进行文件分割。
命令:split -l 300 large_file.txt new_file_prefix
模式二:指定分割后文件大小
split -b 10m server.log waynelog
对二进制文件我们同样也可以按文件大小来分隔。
2、将一个大文件分成若干个小文件方法
例如将一个BLM.txt文件分成前缀为 BLM_ 的1000个小文件,后缀为系数形式,且后缀为4位数字形式
先利用wc -l BLM.txt
读出 BLM.txt 文件一共有多少行
再利用 split 命令
split -l 2482 ../BLM/BLM.txt -d -a 4 BLM_
将文件 BLM.txt 分成若干个小文件,每个文件2482行(-l 2482),文件前缀为BLM_ ,系数不是字母而是数字(-d),后缀系数为四位数(-a 4)
一、Vim命令合并文件内容
1、用vim打开file1,并将光标移到到file1的最后一行。
2、进行Vim命令模式,执行命令r file2将file2的内容复制到file1的最后面。
3、参照【步骤1】【步骤2】,执行命令r file3将file3的内容也追加进来,这样我们就完成了将file2、file3的内容追加到file1中,即完成了三个文件的合并操作。
注意:通过r命令一次只能追加一个文件内容,对于多个文件的合并处理效率较低,适用于少数文件的合并。
二、cat命令合并文件内容
1、对于3个或更多文件的合并推荐使用cat命令。
执行cat file1 file2 file3 > file可将file1、file2、 file3的内容合并到file中。
2、用vim打开file,可以看到最终合并的文件内容。
第一:两个文件的交集,并集
前提条件:每个文件中不得有重复行
1. 取出两个文件的并集(重复的行只保留一份)
2. 取出两个文件的交集(只留下同时存在于两个文件中的文件)
3. 删除交集,留下其他的行
1. cat file1 file2 | sort | uniq > file3
2. cat file1 file2 | sort | uniq -d > file3
3. cat file1 file2 | sort | uniq -u > file3
第二:两个文件合并
一个文件在上,一个文件在下
cat file1 file2 > file3
一个文件在左,一个文件在右
paste file1 file2 > file3
(
具体细节可以查看,cat,sort,uniq等命令的详细介绍,查询方式如下:
paste连接时,用空格或tab键分隔新行中不同文本,除非指定-d选项,它将成为域分隔符。
paste格式为:
paste -d -s -file1 file2
选项含义如下:
-d 指定不同于空格或tab键的域分隔符。例如用@分隔域,使用- d @。
-s 将每个文件合并成行而不是按行粘贴。 (
由默认的“并行输出”改为“串行输出”了,或者说由“并排”变为“横排”了!
其实-s参数就是输出一行一个文件,有多少个文件就有多少行。原始每个文件里的每行内容都成为输出结果一行里的各个字段。
file1:
user1 pwd1
user2 pwd2
file2:
user3 pwd3
user4 pwd4
变成:
use1 pwd1 user2 pwd2
user3 pwd3 user4 pwd4
)
第三:一个文件去掉重复的行:
sort file |uniq
注意:重复的多行记为一行,也就是说这些重复的行还在,只是全部省略为一行!
sort file |uniq -u
上面的命令可以把重复的行全部去掉,也就是文件中的非重复行!
更详细的linux命令可按下图所示进行搜索
# vim file1
在这个文件的命令模式下:
shfit+G (把光标定位到最后一行)
:r file2 (把file2读取到当前当前光标的下一行)
:w file3
试试吧,不算很麻烦,呵呵
方法一:使用cat命令从文件中读入两个文件,然后将重定向到一个新的文件。这种方法可以一次性合并任意多个文件。用法示例:
将file1.txt和file2.txt合并到file.txt
$ cat file1.txt file2.txt > file.txt
方法二:只使用cat命令读入一个文件,然后使用>>将文本流追加到另一个文件的末位。
用法示例:
将file1.txt追加到file2.txt的末尾
$ cat file1.txt >> file2.txt