linux中怎么将文件合并

linux中怎么将文件合并,第1张

方法一:使用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)

http://c.biancheng.net/linux/split.html

15 分钟之后,我要去朋友家聚会。我打算从我的台式机上把一部 700MB 大小的美国大片拷贝出来,带到朋友家去看,可是我的两个优盘都只有 512MB,这让我如何是好?

别急,用 10 分钟赶快来认识一下我们的 split 拆分小能手,一切问题将迎刃而解。当遇到大文件而苦不堪言的时候,split 就会像天使一样解救我们于水火之中。

合久必分

闲言少叙,我们现在就来介绍拆分的方法。先使用 dd 命令来生成一个 700MB 文件来作为我们的拆分对象:

美国大片的文件大小是 700MB,而我手边仅有的两个优盘,都是 512MB 大小的。我打算把文件以 400MB 作为一个拆分单位,来进行拆分。这里使用到了 split 的-b选项,来指定每个拆分文件的大小:

看!分身完毕!咦,怎么多出了 xaa 和 xab 两个文件,这么奇怪的名字?

是的,你没看错,在没有明确指定拆分后文件的命名方式的情况下,split 会默认采用 x 字符作为文件前缀,采用类似 aa、ab、ac 的字符串依次作为文件后缀。于是,就出现了我们上面看到的 xaa、xab 了。

从文件大小来看,如我们所愿,电影文件的确被切割成了一个 400MB 的文件、一个 300MB 的文件,终于可以装到两个优盘里了。

知其然,知其所以然

知道了拆分命令后,我们来一起学习一下 split 的命令格式和常用选项。

split 的作用很好描述,就是将文件按照一定规则进行拆分。一般情况下,我们可以按照文件大小来进行拆分,如果是文本文件的话,还可以按照行数来进行拆分,默认是 1000 行作为一个拆分单位。

默认情况下,分割后的文件的名称会以 x 作为前缀,以 aa、ab、ac 这样的双字母格式作为后缀,形成 xaa、xab 这样的名称格式。

我们来一起看看 split 的命令格式:

split [-b ][-C ][-][-l ][要切割的文件][输出文件名前缀][-a ]

最常用的选项,都在这里了:

-b<字节>:指定按多少字节进行拆分,也可以指定 K、M、G、T 等单位。

-<行数>或-l<行数>:指定每多少行要拆分成一个文件。

输出文件名前缀:设置拆分后的文件的名称前缀,split 会自动在前缀后加上编号,默认从 aa 开始。

-a<后缀长度>:默认的后缀长度是 2,也就是按 aa、ab、ac 这样的格式依次编号。

分久必合

完成了美国大片的拆分,我赶赴朋友家,打开他的电脑,优盘插上,使用 cat 命令将拆分文件 xaa 和 xab 合并成一个文件,可以看出合并后的文件和源文件的大小是一致的:

对了,如果是在 Windows 下的话,我们要先运行 cmd,然后用 copy 命令来进行文件的合并:

copy /b xaa + xab king_of_ring.avi

格式上和 Linux 有些区别,但原理是一样的。

设置拆分文件的名称前缀

上面例子中,我们没有指定拆分文件的名称前缀,结果拆分后的文件名都是 aa、ab 这样的名称,这样的名称既不达意也不美观。

下面的例子,我们尝试以 king_of_ring_part_ 作为拆分后文件的名称前缀:

[root@roclinux ~]$ split -b 400m king_of_ring.avi king_of_ring_part_

文件名的可读性是不是提高了不少,从文件名称就可以看出来是美国大片的拆分文件啦。

设置数字后缀

如果大家看不惯以 aa、ab 这种字母作为文件后缀,我们还可以通过-d选项来指定数字形式的文件后缀:

[root@roclinux ~]$ split -b 400m -d king_of_ring.avi king_of_ring_part_

对于中国人来说,数字形式的后缀,增加了文件名称的可读性。

按照行数进行拆分

前面我们讲的是按照文件大小(如 400MB)进行文件拆分的方法,但是并非所有情况都适合于用文件大小作为拆分单元。比如,我们希望把 /etc/passwd 文件按照一个文件 10 行记录的方式进行拆分,又该怎么 *** 作呢?

[root@roclinux ~]$ split -d -10 /etc/passwd my_passwd_

合并后的校验不可少

需要注意的是,在通过网络来传输大文件,或者在设备之间复制大文件的时候,可能会出现传输前后数据不一致的情况。

使用 split 来拆分大文件仅仅是故事的开始, *** 作完毕后化零为整、完璧归赵才是完美的结局。因此需要在合并文件后进行文件的完整性校验,推荐使用 md5sum 来计算和比对前后两个大文件的 md5 值。

如果前后一致,那么恭喜你,文件合并成功!

好了,split 学完了,我们也可以和朋友一起欣赏惊险刺激的美国大片了!


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

原文地址: http://outofmemory.cn/yw/7295606.html

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

发表评论

登录后才能评论

评论列表(0条)

保存