linux文件怎么合并

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux文件怎么合并相关的知识,希望对你有一定的参考价值。

参考技术A Linux 终端窗口中输入以下命令:
cat file1.txt file2.txt > file.txt
参考技术B

工具/原料

Linux   电脑

方法/步骤

1、首先,在Linux下创建两个文件,文件名分别为file1、file2。

2、然后,用vim打开需要合并的文件,将光标移到到文件最后一行点击一下。

3、进行Vim命令模式,执行命令r file2将file2的内容复制到file1的后方。

4、文件成功合并完成。

Linux下怎么合并一个文件夹下的所有文件,规则就是 只要任意两个文件含有一个相同的数字

Linux下怎么合并一个文件夹下的所有文件,规则就是 只要任意两个文件含有一个相同的数字,则合并,不停地循环,直到剩下的文件任意两个都没有重复的数字,比如 文件 file1 里的文字是 1 3 4 9; 文件 file2 里的文字是 12 34 4 91; file3 里的文字是 11 73 24 9; file4 里的文字是 632 99;则 file1和file2通过4合并到一起然后再通过9与file3合并到一起,file4 因为与其他文件没有交叉的数字所以不合并,最终是2个文件:
一个文件为file1,file2,file3合并的一起形成的大文件(去重),当然这个大文件要起个名字,名字没有具体要求
另一个就是file4
怎么用linux实现一下啊,请教高手们了

参考技术A while [ 1 -eq 1 ] ##无限循环直到所有文件相同的文件合并成功
do
i=0 ##使用数组应该好一些
j=0
for a in $(ls /xxx/xxx/*)
do
b[$i]=$a ##获取的所有文件赋予给数组
let i=i+1
done
while [ j -ln $#b[@] ] ##文件有多个次,循环多少次,拿文件比较
do
for c in $(awk 'for(i=1;i<=4;i++)printf $i' $b[$j]) ##文件里面有多少数据,循环多少次
do
let d=j+1
e=`cat $b[$d]|grep $c` ##拿第一个文件与后面一个文件比是否存有相同的数
if [ $e -eq 1 ]
then
sort -u $b[$j] $b[$d] > $j.txt ##如果有重复的就合并到文件,没有继续与第3个文件比较
break; ##然后终止循环,为什么要终止循环?因为合并的文件还有可能与后面的文件重 ## 复数字,故退出循环,进入大的循环再获取新的文件比较
else if [ j -eq $($#b[@]-1) ] ##如果比到倒数第二个文件和最后一个文件没有没有相似点则退出程序, ##比较完毕
exit;
fi
done
then
exit
fi
done
done本回答被提问者采纳

以上是关于linux文件怎么合并的主要内容,如果未能解决你的问题,请参考以下文章

linux中怎么将文件合并

Linux下怎么合并一个文件夹下的所有文件,规则就是 只要任意两个文件含有一个相同的数字

DOS命令求助,如何合并多个RTF文件?

大文件在windows-linux之间的拆分合并

Linux zip命令的分卷压缩和合并解压

linux 中怎么vi删除多行