Linux命令合并重复行 如何合并重复行

如何用linux命令合并文件

Linux中使用cat命令利用Linux重定向合并文件,如将file1,file2合并为file3命令如下:

成都创新互联长期为1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为科尔沁企业提供专业的网站设计制作、做网站科尔沁网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。

$ cat file1 file2 file当然,如果只是将file1的内容追加到file2中,可以使用命令如下:

$ cat file1 file2cat命令说明:

1.

命令格式:cat [选项] [文件]...

2.

命令功能:cat主要有三大功能:(1)一次显示整个文件:cat filename;(2)从键盘创建一个文件:cat filename 只能创建新文件,不能编辑已有文件;(3)将几个文件合并为一个文件:cat file1 file2 file。

3.

常用参数:

-n

--number

1

开始对所有输出的行数编号

-b

--number-nonblank

-n

相似,只不过对于空白行不编号

-s

--squeeze-blank

当遇到有连续两行以上的空白行,就代换为一行的空白行

-v

--show-nonprinting

awk合并相同项 Linux BASH Shell经典回顾

对不住啊,没注意第二列。还是按刚才的思路。多加一个sort

awk '{split(a[$1],temp);$3=$3+temp[3];if(temp[2])$2=temp[2];a[$1]=$0}

END{for(n in a)print a[n]}' aa|sort -k2,2

Linux基本操作-----文件的排序+分割+合并+归档等

linux基本操作-----文件的排序+分割+合并+归档等1

sort

1

sort命令将输入文件看做由多条记录组成的数据流,而记录由可变宽度的字段组成,以换行符作为定界符

2

sort的命令的基本格式

sort

选项

文件

3

sort命令选项及其意义

选项

意义

-c

测试文件是否已经被排序

-k

指定排序的域

-m

合并两个已排序的文件

-n

根据数字大小进行排序

-o

输出文件

将输出写到指定的文件,相当于将输出重定向到指定的文件

-r

将排序结果逆向显示

-t

改变域分割符

-u

去除结果中的重复行2

uniq

1

uniq命令是用于去除文本的重复行,这类似于sort命令的-u选项

2

uniq命令的基本用法

uniq

选项

文件

3

uniq命令选项及其意义

选项

意义

-c

打印每行在文本中重复出现的次数

-d

只显示有重复的记录,每个重复记录只出现一次

-u

只显示没有重复的记录3

cut

1

cut命令用于从标准输入或文本文件中按域或行提取文本

2

cut命令的基本格式

cut

选项

文件

3

cut选项及其意义

选项

意义

-c

指定提取的字符数或字符范围

-f

指定提取的域或域的范围

-d

改变域分割符4

tar

1

tar命令是linux的归档命令,通俗的说tar命令实现了linux系统文件的压缩和解压缩

2

tar命令基本格式

tar

选项

文件名或目录名

3

tar命令选项及其意义

选项

意义

-c

创建新的包

-r

为包添加新的文件

-t

列出包内容

-u

更新包中的文件,若包中没有此文件,则将文件添加进包中

-x

解压缩文件

-v

详细报告tar处理的信息

-f

使用压缩文件或设备,该选项通常是必选的

-z

用gzip压缩和解压缩文件,如果是.gz结尾的tar包那么该选项是必须的

4

解压非gzip格式的压缩包

tar

-xvf

包名

解压gzip格式的压缩包

tar

-zxvf

包名

在Linux中怎么样将两个文件相同行的数据合并成一个文件

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命令uniq

uniq 命令

文字

uniq 是LINUX命令

用途

报告或删除文件中重复的行。

语法

uniq [ -c | -d | -u ] [ -f Fields ] [ -s Characters ] [ -Fields ] [ +Characters ] [ InFile [ OutFile ] ]

描述

uniq 命令删除文件中的重复行。

uniq 命令读取由

InFile 参数指定的标准输入或文件。该命令首先比较相邻的行,然后除去第二行和该行的后续副本。重复的行一定相邻。(在发出 uniq

命令之前,请使用 sort 命令使所有重复行相邻。)最后,uniq 命令将最终单独的行写入标准输出或由 OutFile

参数指定的文件。InFile 和 OutFile 参数必须指定不同的文件。如果输入文件用“-

”表示,则从标准输入读取;输入文件必须是文本文件。文本文件是包含组织在一行或多行中的字符的文件。这些行的长度不能超出

2048 个字节(包含所有换行字符),并且其中不能包含空字符。

缺省情况下,uniq 命令比较所有行。如果指定了-f Fields 或 -Fields 标志, uniq 命令忽略由 Fields 变量指定的字段数目。 field 是一个字符串,用一个或多个 空格 字符将它与其它字符串分隔开。

如果指定了 -s Characters 或 -Characters 标志, uniq 命令忽略由 Characters 变量指定的字段数目。为 Fields 和 Characters 变量指定的值必须是正的十进制整数。

当前本地语言环境决定了 -f 标志使用的 空白 字符以及 -s 标志如何将字节解释成字符。

如果执行成功,uniq 命令退出,返回值 0。否则,命令退出返回值大于 0。

标志

-c 在输出行前面加上每行在输入文件中出现的次数。

-d 仅显示重复行。

-u 仅显示不重复的行。

-f Fields 忽略由 Fields 变量指定的字段数目。如果 Fields 变量的值超过输入行中的字段数目, uniq 命令用空字符串进行比较。这个标志和 -Fields 标志是等价的。

-s Characters

忽略由 Characters 变量指定的字符的数目。如果 Characters 变量的值超过输入行中的字符的数目, uniq

用空字符串进行比较。如果同时指定 -f 和 -s 标志, uniq 命令忽略由 -s Characters 标志指定的字符的数目,而从由 -f

Fields 标志指定的字段后开始。 这个标志和 +Characters 标志是等价的。

-Fields 忽略由 Fields 变量指定的字段数目。这个标志和 -f Fields 标志是等价的。

+Characters

忽略由 Characters 变量指定的字符的数目。如果同时指定 - Fields 和 +Characters 标志, uniq 命令忽略由

+Characters 标志指定的字符数目,并从由 -Fields 标志指定的字段后开始。 这个标志和 -s Characters

标志是等价的。

- c 显示输出中,在每行行首加上本行在文件中出现的次数。它可取代- u和- d选项。

- d 只显示重复行 。

- u 只显示文件中不重复的各行 。

- n 前n个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号)。

+ n 前n个字符被忽略,之前的字符被跳过(字符从0开始编号)。

- f n 与- n相同,这里n是字段数。

- s n 与+n相同,这里n是字符数。

退出状态

该命令返回以下退出值:

0 命令运行成功。

0 发生错误。

补充

文件经过处理后在它的输出文件中可能会出现重复的行。例如,使用cat命令将两个文件合并后,再使用sort命令进行排序,就可能出现重复行。这时可以使用uniq命令将这些重复行从输出文件中删除,只留下每条记录的唯一样

示例

要删除名为 fruit 文件中的重复行并将其保存到一个名为 newfruit 的文件中,输入:

uniq fruit newfruit

如果 fruit 文件包含下列行:

apples

apples

peaches

pears

bananas

cherries

cherries

则在您运行uniq 命令后 newfruit 文件将包含下列行:

apples

peaches

pears

bananas

cherries

文件/usr/bin/uniq 包含 uniq 命令。

# uniq -c 的用法,例如:

harley

casely

weedly

harley

linda

#cut -c 1-8 | sort | uniq -c result.txt

1 casely

2 harley

1 linda

1 weekly

1. 显示文件example中不重复的行。

uniq - u example

2. 显示文件example中不重复的行,从第2个字段的第2个字符开始做比较。

uniq - u - 1 +1 example


文章标题:Linux命令合并重复行 如何合并重复行
URL网址:http://myzitong.com/article/dodgcpd.html