日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux去重教程:如何只保留一個重復行?(linux將重復行只保留一個)

Linux去重教程: 如何只保留一個重復行?

創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,先為寒亭等服務(wù)建站,寒亭等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為寒亭企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

在處理文本數(shù)據(jù)時,常常會出現(xiàn)重復行的情況,這些重復行的存在可能會導致數(shù)據(jù)分析和處理的不準確性,因此需要進行去重處理。在Linux系統(tǒng)中,有多種方法可以實現(xiàn)去重,本文將介紹幾種常用的方法和命令,幫助你快速去重并只保留一個重復行。

一、使用sort命令去重

sort命令可以將文件中的所有行進行排序,并去除其中的重復行??梢允褂靡韵旅顚⑽募M行去重:

sort file.txt | uniq > dedup.txt

上述命令將文件file.txt中的所有行進行排序,并將其中的重復行去除,然后將結(jié)果保存在dedup.txt文件中。

如果你想要保留一個重復行,可以使用以下命令:

sort file.txt | uniq -u > dedup.txt

上述命令將文件file.txt中的所有行進行排序,并找出其中不重復的行保存在dedup.txt文件中。

二、使用awk命令去重

awk是一種強大的文本處理工具,可以進行復雜的文本操作。使用awk命令去重可以靈活地設(shè)置去重條件??梢允褂靡韵旅钊コ募械闹貜托校?/p>

awk ‘!a[$0]++’ file.txt > dedup.txt

上述命令將文件file.txt中的重復行去除,并保存非重復的行到dedup.txt文件中。

如果你想要保留一行重復的行,可以使用以下命令:

awk ‘!a[$0]++ || a[$0]==1’ file.txt > dedup.txt

上述命令將文件file.txt中的重復行去除,并保存唯一的行和之一個重復的行到dedup.txt文件中。

三、使用grep命令去重

grep是一種強大的文本搜索工具,可以搜索文件中的指定字符串。使用grep命令去重可以根據(jù)指定的字符串進行去重。可以使用以下命令去重文件中的行:

cat file.txt | grep -v ‘^\s*$’ | uniq > dedup.txt

上述命令將文件中的空行去除,并將其中的重復行去除,然后將結(jié)果保存在dedup.txt文件中。

如果你想要保留一個重復的行,可以使用以下命令:

cat file.txt | grep -v ‘^\s*$’ | uniq -u > dedup.txt

上述命令將文件中的空行去除,并找出其中不重復的行保存在dedup.txt文件中。

四、使用sed命令去重

sed是一種強大的文本轉(zhuǎn)換工具,可以對文件中的指定行進行轉(zhuǎn)換。使用sed命令去重可以根據(jù)指定的規(guī)則去重??梢允褂靡韵旅钊ブ匚募械男校?/p>

sed -e ‘s/^\(.*\)$/\1,1/’ file.txt | sort -u -t, -k1,1 | cut -d’,’ -f1 > dedup.txt

上述命令將文件中的每行加上序號,并將其中的重復行去除,然后將去重后的行保存在dedup.txt文件中。

如果你想要保留一個重復的行,可以使用以下命令:

sed -e ‘s/^\(.*\)$/\1,1/’ file.txt | sort -t’,’ -k1,1 -u | cut -d’,’ -f1 > dedup.txt

上述命令將文件中的每行加上序號,并找出其中不重復的行保存在dedup.txt文件中。

本文介紹了四種常用的Linux命令去重方法,通過這些命令可以快速去重并只保留一個重復行。使用這些命令能夠幫助我們在處理文本數(shù)據(jù)時更加高效和準確。

成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù)!

如何快速刪除Linux文件中的重復數(shù)據(jù)行

uniq 文件名

這樣就可以了

用uniq,罩宏如下,將罩和 1.txt 中 所有 “相鄰” 重復行合并成一行,結(jié)果存入 2.txt

uniq 1.txt > 2.txt

如果是想將相鄰重復物悶盯行徹底刪掉(而不是合并成一行),可以用

uniq -u 1.txt > 2.txt

哪個逗逼寫的答案,不相鄰的行就尺汪腔不用去了嗎?

可以用sort Filename|uniq -u >OutputFilename

但是這也不快速,因為sort的排序過程其實陵稿是沒有必要的,浪費了大量時間,最快的方陵衫法還是寫c。

利用Linux命令行進行文本按行去重并按重復次數(shù)排序

利用linux命令行進行文本按行去重并按重復次數(shù)排序linux命令行提供了非常強大的文本處理功能,組合利用linux命令能實現(xiàn)好多強大的功搏李能。本文這里舉例說明如何利用linux命令行進行文本按行去重并按重復次數(shù)排序。主要用到的命令有sort,uniq和cut。其中,sort主要功能是排序,uniq主要功能是實現(xiàn)相鄰文本行的去重,cut可以從文本行中提取相應(yīng)的文本列(簡單地說,就是按列操作文本行)。用于演示的測試文件內(nèi)容如下:Hello

World.

Apple

and

Nokia.

Hello

World.

I

wanna

buy

an

Apple

device.

The

Iphone

of

Apple

company.

Hello

World.

The

Iphone

of

Apple

company.

My

name

is

Friendfish.

Hello

World.

Apple

and

Nokia.

實現(xiàn)命令及過程如下:1、文本行去重

(1)排序

由于uniq命令只能對相鄰行進行去重復操作,所以在進行去重前,先要對文本行進行排序,使重復行集中到一起。

$

sort

test.txt

Apple

and

Nokia.

Apple

and

Nokia.

Hello

World.

Hello

World.

Hello

World.

Hello

World.

I

wanna

buy

an

Apple

device.

My

name

is

Friendfish.

The

Iphone

of

Apple

company.

The

Iphone

of

Apple

company.

(2)去掉相鄰的重復行

$

sort

test.txt

|

uniq

Apple

and

Nokia.

Hello

World.

I

wanna

buy

an

Apple

device.

My

name

is

Friendfish.

The

Iphone

of

Apple

company.

2、文本行去重并按重復次數(shù)排序

(1)首先,對文本行進行去重并統(tǒng)計重復次數(shù)(uniq命令加-c選項可以實現(xiàn)對重復次數(shù)進行統(tǒng)計。)。

$

sort

test.txt

|

uniq

-c

Apple

and

Nokia.

Hello

World.

I

wanna

buy

an

Apple

device.

My

name

is

Friendfish.

The

Iphone

of

Apple

company.

(2)對文本行按重復次數(shù)進行排序。

sort

-n可以識別每行開頭的數(shù)字,并按其大小對文本行進行排序。默認是按升序排列,如果想要按降序要加-r選項(sort

-rn)。

$

sort

test.txt

|

uniq

-c

|

sort

-rn

Hello

World.

The

Iphone

of

Apple

company.

Apple

and

Nokia.

My

name

is

Friendfish.

I

wanna

buy

an

Apple

device.

(3)每行前面的刪除重復次數(shù)。

cut命令可以按列操作文本行??梢钥闯銮懊娴闹貜痛螖?shù)占8個字符,因此,可以用命令cut

-c

9-

取出每行第9個及其以后的字符。

$

sort

test.txt

|

uniq

-c

|

sort

-rn

|

cut

-c

9-

Hello

World.

The

Iphone

of

Apple

company.

Apple

and

Nokia.

My

name

is

Friendfish.

I

wanna

buy

an

Apple

device.

下面附帶說一下cut命令的使用,用法如下:cut

-b

list

…>

cut

-c

list

…>

cut

-f

list

delim>

…>

上面的-b、-c、-f分別表示字節(jié)、字符、字段(即byte、character、field);

list表示-b、-c、-f操作范圍,-n常常表示具體數(shù)字;

file表示的自然是要操作的文本粗旅文件的名稱;

delim(英文巖銀凳全寫:delimiter)表示分隔符,默認情況下為TAB;

-s表示不包括那些不含分隔符的行(這樣有利于去掉注釋和標題)

三種方式中,表示從指定的范圍中提取字節(jié)(-b)、或字符(-c)、或字段(-f)。

范圍的表示方法:

n

只有第n項

n-

從第n項一直到行尾

n-m

從第n項到第m項(包括m)

-m

從一行的開始到第m項(包括m)

從一行的開始到結(jié)束的所有項

關(guān)于linux將重復行只保留一個的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

香港云服務(wù)器機房,創(chuàng)新互聯(lián)(www.cdcxhl.com)專業(yè)云服務(wù)器廠商,回大陸優(yōu)化帶寬,安全/穩(wěn)定/低延遲.創(chuàng)新互聯(lián)助力企業(yè)出海業(yè)務(wù),提供一站式解決方案。香港服務(wù)器-免備案低延遲-雙向CN2+BGP極速互訪!


標題名稱:Linux去重教程:如何只保留一個重復行?(linux將重復行只保留一個)
鏈接URL:http://www.5511xx.com/article/cdegged.html