linux中怎么将文件合并

怎样将文件file1和file2.txt合并为file3?我要准确的命令,谢谢。... 怎样将文件file1和file2.txt 合并为file3 ?我要准确的命令,谢谢。 展开
 我来答
大野瘦子
高粉答主

推荐于2019-08-31 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:32.2万
展开全部

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

百度网友14dc635
高粉答主

推荐于2019-09-24 · 繁杂信息太多,你要学会辨别
知道答主
回答量:145
采纳率:100%
帮助的人:5.2万
展开全部

一、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,可以看到最终合并的文件内容。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
可靠的梦想之星
2020-06-25 · TA获得超过587个赞
知道小有建树答主
回答量:926
采纳率:78%
帮助的人:35.8万
展开全部

第一:两个文件的交集,并集

前提条件:每个文件中不得有重复行

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命令可按下图所示进行搜索

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hack_qyt
2010-05-28 · TA获得超过450个赞
知道小有建树答主
回答量:468
采纳率:0%
帮助的人:322万
展开全部
用个跟他不一样的方法吧:

# vim file1

在这个文件的命令模式下:
shfit+G (把光标定位到最后一行)
:r file2 (把file2读取到当前当前光标的下一行)
:w file3

试试吧,不算很麻烦,呵呵
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
日TimE寸
推荐于2017-09-13 · TA获得超过9568个赞
知道大有可为答主
回答量:1358
采纳率:83%
帮助的人:462万
展开全部
可以使用cat命令,有两种实现的方式,一种将两个文件合并的到一个新的文件,另一种将一个文件追加到另一个文件的末尾。

方法一:使用cat命令从文件中读入两个文件,然后将重定向到一个新的文件。这种方法可以一次性合并任意多个文件。用法示例:
将file1.txt和file2.txt合并到file.txt
$ cat file1.txt file2.txt > file.txt

方法二:只使用cat命令读入一个文件,然后使用>>将文本流追加到另一个文件的末位。
用法示例:
将file1.txt追加到file2.txt的末尾
$ cat file1.txt >> file2.txt
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式