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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
「Linux技巧」使用vi刪除文本中的重復行(linuxvi刪除重復行)

Linux技巧:使用vi刪除文本中的重復行

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了泗水免費建站歡迎大家使用!

在Linux系統(tǒng)中,vi是一款常用的文本編輯器。它可以查看和修改各種文件,包括文本文件、腳本和配置文件等。有時候,我們需要處理大量的文本數(shù)據(jù),而文本中含有重復的行,這對數(shù)據(jù)分析和處理帶來了很大的困擾。本文將介紹如何使用vi編輯器刪除文本中的重復行,讓數(shù)據(jù)分析和處理更加輕松。

一、使用vi編輯器打開文本文件

需要使用vi編輯器打開需要刪除重復行的文本文件。在終端輸入以下指令:

vi filename

其中,filename是要打開的文本文件名。如果文件在當前目錄下,可以直接輸入文件名。如果文件在其他目錄下,需要輸入完整的文件路徑。

二、使用sort命令排序文本行

為了標識出文本中的重復行,需要先將文本行進行排序。在vi編輯器中,可以使用sort命令來對文本行排序。在普通模式下,輸入以下指令:

:%!sort

其中,%表示整個文本文件,!表示調(diào)用外部命令,sort表示排序命令。執(zhí)行完畢后,整個文本文件的行都被重新排序。

三、使用uniq命令刪除重復行

使用sort命令排好序的文本,可以直接使用uniq命令刪除重復的行。在普通模式下,輸入以下指令:

:%!uniq

其中,%表示整個文本文件,!表示調(diào)用外部命令,uniq表示去重命令。執(zhí)行完畢后,整個文本文件的重復行都被刪除。

四、使用vi編輯器保存和退出文本文件

完成去重操作后,可以使用vi編輯器保存和退出文本文件。在普通模式下,輸入以下指令:

:wq

其中,w表示保存命令,q表示退出命令。執(zhí)行完畢后,文本文件的修改已經(jīng)保存,編輯器已經(jīng)退出。

結(jié)語:

上述方法可以非常方便地使用vi編輯器刪除文本中的重復行。通過這種方法,我們可以更加方便地進行數(shù)據(jù)分析和處理。在日常使用中,也可以靈活運用這些命令進行各種文本處理操作,提高工作效率。

相關(guān)問題拓展閱讀:

  • 在命令行模式下執(zhí)行命令

在命令行模式下執(zhí)行命令

輸入命令按下enter鍵就會開始執(zhí)行,如果輸入的命令很長,可以使用反斜杠\來轉(zhuǎn)義enter符號,使命令連續(xù)到下一行。

在linux環(huán)境中大小寫是不同的

1.顯示日期和事件的命令:date

如果想要輸出特定格式的日期和事件需要帶上參數(shù)

例如:date +%Y/%m/%d

date +%H:%M

2.顯示日歷的命令:cal

cal的基本能語法:cal year>

可以顯示某年的日歷:例如,cal 2023

可以顯示某年某月的日歷:例如,cal

3.計算器命令:bc

輸入bc命令就進入bc這個軟件的工作環(huán)境,就可以像在windows中一樣進行加減乘除,

+加法,-減法,*乘法,/除法,^指數(shù),%

余數(shù)

。

bc默認是輸出整數(shù)的,如果要輸出全部小數(shù),就必須執(zhí)行scale=number,其中number就是小數(shù)點后的位數(shù)。

要離開bc,需要輸入quit才能離開bc軟件環(huán)境。

1.tab鍵:用于補全命令或者補全文件

2.ctrl+c:用于中斷目前正在運行的命令

3.ctrl+d:表示鍵盤輸入結(jié)束,也可以用來代替exit的輸入。

命令行

中直接按下兩次tab鍵,可以看到總共有多少個命令可以供當前用則喊戶使用。

可以使用man 命令名來查看命令的具體用法。

其中man是manual的縮寫。

數(shù)據(jù)同步寫入磁盤中:在關(guān)機前可以使用命令sync將內(nèi)存中尚未被更新的數(shù)據(jù)就會被寫入硬盤中。

關(guān)機命令

.sh

utdown、reboot、halt、poweroff

系統(tǒng)執(zhí)行等級:

run level 0:關(guān)機

run level 3:純命令行模式

run level 5:含有圖形界面模式

run level 6:重啟

可以使用init命令來切換各種模式,例如想要關(guān)機的話,也可以使用init 0。

Linux文件屬性

ls -al 列出所有的文件,-al表示列出所有的文件詳細的權(quán)限和屬性。

例如

drwxr-xroot rootSep 8 14:06 .gconfd

-rwxr-xr-xroot rootJan 3 11:01 install.log

1.之一列文件的類型與權(quán)限

之一列由10個字符組成:

之一個字符代表這個文件是目錄、文件或者鏈接文件等

其中d表示目錄,

-表示是文件

l表示是連接文件

接下來的字符中,以三個字符為一組,均是rwx的組合,其中r表示可讀,w表示可寫,x表示可執(zhí)行。如果沒有相應的權(quán)限就用-表示。

這三組分別表示的權(quán)限是:

之一組為”文件所有者的權(quán)限“

第二組為”同用戶組的權(quán)限“

第三組為”其他非本用戶組的權(quán)限“

2.第二枯返列表示有多少個文件名連接到此節(jié)點上

3.第三列表示這個文件或目錄的所有者賬號

4.第四列表示這個文件所屬的用戶組

5.第五列表示這個文件的大小,默認單位為B

6.第六列表示這個文件的創(chuàng)建日期或這個文件的修改日期。

7.第七列表示這個文件名

改變文件屬性和權(quán)限:

chgrp(change group):改變文件的所屬用戶組

chown(change owner):改變文件所有者

chmod:改變權(quán)限,權(quán)限的設(shè)置有兩種方式,使用數(shù)字或者符號來進行權(quán)限的更改。

數(shù)字類型改變權(quán)限:

使用數(shù)沒盯饑字分別代表各個權(quán)限,其中:

r:4

w:2

x:1

owner、group、others三種身份各自有自己的rwx權(quán)限,三個權(quán)限的分數(shù)需要累加。例如

owner = rwx = 4 + 2 + 1=7

group = rwx = 4 + 2 + 1 = 7

others = — = 0 + 0 + 0 = 0

那么這個文件的權(quán)限數(shù)字就是770

符號類型改變權(quán)限:

使用u,g,o分別代表user、group、others三種身份的權(quán)限,a表示所有身份

例如:

一個文件的權(quán)限為:-rwxr-xr-x

user:有可讀、可寫、可執(zhí)行的權(quán)限

group:有可讀、可執(zhí)行的權(quán)限

others:有可讀、可執(zhí)行的權(quán)限

可以使用命令 chmod u=rwx,go=rx install.log

給install.log文件的所有用戶增加寫權(quán)限

chmod a+w install.log

給install.log文件的所有用戶去掉可執(zhí)行權(quán)限

chmod a-x install.log

Linux下文件沒有所謂的

擴展名

,一個linux文件能不能被執(zhí)行,與文件名沒有一點關(guān)系,而是權(quán)限中有x,就代表這個文件可以被執(zhí)行。

通常會以適當?shù)臄U展名來表示文件是什么種類的。例如,

.sh表示腳本或

批處理文件

.Z、

.tar、

.

tar.gz

.zip、

.tgz都表示壓縮文件。

FHS(Filesystem Hierarchy Standard)標準用于讓用戶能夠了解到已安裝的軟件通常放置在哪個目錄下。FHS根據(jù)

文件系統(tǒng)

使用的頻繁與否和是否允許用戶隨意改動,而將目錄定義成四種

交互作用

的形態(tài)。分別如下:

可分享的 不可分享的

不變的:/usr(軟件放置處)、/opt(第三方軟件)/etc(

配置文件

)、/boot(開機與內(nèi)核文件)

可變動的: /var/mail(用戶郵件信箱) /var/run(程序相關(guān))、/var/lock(程序相關(guān))

/var/spool/news(新聞組)/var/lock(程序相關(guān))

可分享的:可以分享給其他系統(tǒng)掛載使用的目錄,所以包括

可執(zhí)行文件

與用戶的郵件等數(shù)據(jù),是能夠分享給網(wǎng)絡(luò)上的其他主機掛載用的目錄。

不可分享的:自己機器上運行的設(shè)備文件或者程序有關(guān)的socket文件等,不適合分享給其他主機。

不變的:數(shù)據(jù)不經(jīng)常變動。

可變動的:數(shù)據(jù)經(jīng)常變動

根目錄

(/):是整個系統(tǒng)最重要的目錄,不僅所有其他目錄是由根目錄衍生出來的,而且根目錄與開機、還原、系統(tǒng)修復等操作有關(guān)。根目錄所在的分區(qū)越小越好,并且

應用程序

所安裝的軟件更好不要與根目錄在同一個分區(qū)。

開機過程中僅有根目錄會被掛載,其他的分區(qū)會在開機完成之后才會持續(xù)進行掛載,因此根目錄下與開機過程有關(guān)的目錄就不能夠與根目錄放到不同的分區(qū)去。有如下這些目錄:

/etc:配置文件

/bin:重要執(zhí)行文件

/dev:所需要的設(shè)備文件

/lib:執(zhí)行文件所需的函數(shù)庫與內(nèi)核所需的模塊

/in:重要的系統(tǒng)執(zhí)行文件

/usr(UNIX software resource)unix操作系統(tǒng)軟件資源,所有系統(tǒng)默認的軟件都會放置在該目錄下,因此這個目錄有點類似與windows下的“C:\Windows”和“C:\Program files”。

/var 放置一些緩存、登錄文件以及某些軟件運行所產(chǎn)生的文件。

相對路徑和絕對路徑:

絕對路徑:由根目錄/開始寫起的文件名或目錄名稱。

相對路徑:相對于當前路徑

.:或者./表示當前路徑

..:或者../表示上層目錄

幾個特殊的目錄

.代表此層目錄

..代表上層目錄

~ 代表“目前用戶身份”所在的主

文件夾

~account 代表account這個用戶的主文件夾

幾個常見的處理目錄的命令

cd:切換目錄

剛登錄時會回到自己的主文件夾,主文件夾有一個代表符號就是~,cd ~會回到個人的主文件夾中,僅輸入cd和輸入cd ~相同。

pwd:顯示當前目錄

pwd 其中-p表示顯示當前路徑,而不是使用連接路徑。加上-p可以讓我們?nèi)〉谜_的目錄名稱。

mkdir:創(chuàng)建一個新目錄

mkdir 目錄名稱,其中m參數(shù)表示配置文件夾的權(quán)限。p參數(shù)表示遞歸創(chuàng)建所需要的所有目錄

rmdir:刪除一個空目錄

rmdir 目錄名,其中p參數(shù)表示連同上層空的目錄一起刪除。要刪除的目錄中必定不能存在其他的目錄或文件。

執(zhí)行文件路徑的變量:$PATH

例如查看文件屬性的命令是ls,而ls完整的文件名是/bin/ls,為什么我們可以在任何地方執(zhí)行l(wèi)s這個命令呢,這是因為

環(huán)境變量

PATH的幫助。當我們輸入ls的時候,系統(tǒng)會依照PATH的設(shè)置去每個PATH定義的目錄中查找文件名為ls的可執(zhí)行文件,如果在PATH定義的目錄中含有多個文件名為ls的可執(zhí)行文件,那么先查詢到的同名命令先被執(zhí)行。

默認情況下,如果用戶創(chuàng)建文件,則默認沒有可執(zhí)行權(quán)限(x),只有r、w這兩個選項,即默認權(quán)限是-rw-rw-rw(666)

默認情況下,如果用戶創(chuàng)建目錄,則默認所有權(quán)限均開放,即為drwx-rwx-rwx(777)

unmask的分數(shù)是指“該默認值需要拿掉的權(quán)限”,例如上面的022表示用戶沒有被拿掉任何權(quán)限,用戶組和其他被拿掉了寫的權(quán)限。

如何使用unmask修改新建文件的默認權(quán)限,直接在unmask后面加上分數(shù)就好了

比如:

···

unmask 002 就表示用戶和用戶組的讀寫權(quán)限不被拿掉,其他會被拿掉寫的權(quán)限

···

2.與用戶或用戶組名有關(guān)的參數(shù)

-uid n 其中n表示數(shù)字,即用戶的ID,也稱為UID

-gid n 其中n表示數(shù)字,即用戶組名的ID,也稱為GID

-user name 其中name為用戶的賬號名稱

-group name 其中name為用戶組名

-nonuser 表示尋找文件的所有者不存在在/etc/passwd中的文件

-nongroup 表示尋找文件的所有用戶組不存在于/etc/group中的文件

例如:

3.與文件權(quán)限及名稱有關(guān)的參數(shù)

-name filename 查找文件名為filename的文件

-size SIZE 查找比size大(+)或?。?)的文件

-type TYPE表示查找文件類型為TYPE的文件

-perm mode表示查找文件權(quán)限剛好等于mode的文件

-perm -mode表示查找文件權(quán)限必須全部包括mode的權(quán)限的文件

例如 查找文件權(quán)限為-rwxr–r–的文件,即權(quán)限744,那么文件權(quán)限為-rwxr-xr-x(755)的文件也會被列出來,因為-rwxr-xr-x的屬性包括了-rwxr–r–的屬性

-perm +mode表示查找文件權(quán)限包含任一mode的權(quán)限的文件,例如查找-rwxr-xr-x,但是另一個文件屬性包括-rw的文件也會被列出來,因為它有-rw屬性存在

4.其他可進行的操作

-exec command :其中command表示其他命令,-exec表示接其他命令來處理查詢的結(jié)果

-print 表示將結(jié)果打印在屏幕上

vi和vim的區(qū)別是vim是vi的高級版本

為什么要學vim

1.所有的linux like 系統(tǒng)都會內(nèi)置vi文本編輯器,而其他的文本編輯器不一定有

2.很多軟件的編輯接口都會主動調(diào)用vi

3.vim有程序編輯的能力,可以主動以字體顏色辨別語法的正確性,方便設(shè)計

vi的使用:

vi有三種模式:一般模式、編輯模式、命令行模式

一般模式:使用vi打開一個文件的時候就進入了一般模式,在這個模式中可以按左右鍵移動光標,可以刪除字符或刪除整行,也可以復制粘貼你的文件數(shù)據(jù)。但是不可以編輯文件。

編輯模式:在一般模式下按下“i 、I、o、O、a、A、r、R”等任何一個字母才會進入編輯模式,按esc退出編輯模式

命令行模式:在一般模式下,輸入“:、/、?”就進入了,命令行模式,在這個模式下可以進行讀取、保存文件,離開vi等操作。

編輯牧師和命令行模式之間是不可以切換的。

一般模式切換到命令行模式可用的按鈕

:w 表示將編輯的內(nèi)容寫入到硬盤中

:w! 表示如果文件屬性為 只讀時,強制寫入該文件

:q表示離開vi

:q!表示如果文件有修改過,不保存強制退出,

:wq表示保存后離開

vim的用法和vi完全一樣

管道命令僅會處理standard out,對于standard error output會予以忽略

管道命令必須要能夠接收來自前一個命令的數(shù)據(jù)成為standard input繼續(xù)處理才行

選取命令:cut,grep

1.cut -d ‘分隔符’ -f field

cut -c 字符范圍

-d表示分隔符

-f表示與-d分隔符一起使用,表示取分割后的第幾段

-c表示以字符為單位取出固定字符區(qū)間

以“行”為單位進行處理的選取

例如:

2.grep

grep ‘查找的字符串’ filename

其中

-a表示將binary文件以text文件的放肆查找數(shù)據(jù)

-c表示計算找到“查找字符串”的次數(shù)

-i表示忽略大小寫的不同

-n表示輸出行號

-v表示反向選擇,即顯示出沒有‘查找字符串’內(nèi)容的那一行。

–color=auto表示將找到的關(guān)鍵字部分加上顏色

例如:

首先學習一下grep命令的一些高級參數(shù)

grep ‘搜索字符串’ filename

其中:

-A :后面可加數(shù)字,表示after的意思,除了列出該行外,后續(xù)的n行也列出來。

-B :后面可加數(shù)字,表示before的意思,除了列出該行外,前面的n行也列出來。

–color=auto表示將選取的數(shù)據(jù)添加顏色

grep是一個很常用的命令,grep在數(shù)據(jù)中查找一個字符串時,是以整行為單位來進行數(shù)據(jù)的選取的。假如一個文件有10行,其中有兩行具有你查找的字符串,則將那兩行顯示在屏幕上,其他的丟棄。

例如

1.查找特定的字符

2.利用中括號來查找字符

里面不論有幾個字符,它都只代表某“一個”字符

3.行首與行尾字符^$

^ 出現(xiàn)在之外表示定位在首行,^ 出現(xiàn)在中表示方向選擇

4.任意一個字符.與重復字符*

.(小數(shù)點):代表一定有一個任意字符

*(星號):代表重復前一個字符0到無窮次的意思

例如:

5.限定連續(xù)RE字符范圍{}

因為符號{}在shell中是有特殊意義的,因此必須要使用轉(zhuǎn)義字符\來讓它失去特殊意義才行。

例如

^word 表示待查找的字符word在首行

word$ 表示待查找的字符在結(jié)尾

.(小數(shù)點)表示一定有一個任意字符的字符

\表示轉(zhuǎn)義字符,將特殊符號的特殊意義去掉

*表示重復零個或無窮多個前一個字符

表示從字符list中找出想太選取的一個字符

表示從字符集中查找想要選取的字符范圍

表示從字符集中查找不要的字符串或范圍

{n,m}表示連續(xù)n到m個前一個字符,若為{n}表示連續(xù)n個前一個字符,{n,}表示連續(xù)n個以上前一個字符。

sed命令可以將數(shù)據(jù)進行替換、刪除、新增、選取特定行等

sed

其中

-n表示使用安靜模式,在一般sed用法中,所有來自STDIN的數(shù)據(jù)一般都會被列出在屏幕上,但如果加上-n參數(shù)后,則只有經(jīng)過sed特殊命令處理的那一行才會被列出來。

-e表示直接在命令行模式上進行sed的動作編輯

-f表示直接將sed的動作寫在一個文件內(nèi)

-r表示sed的動作支持的是擴展型的正則表達式,默認是基礎(chǔ)型的正則表達式

-i表示直接修改讀取的內(nèi)容,而不是由屏幕輸出

動作說明:

> function

n1,n2:不一定會存在,一般代表選擇進行動作的行

function 有下面的參數(shù)

a表示新增,a后面可以接字符串,而這些字符串會在新的一行出現(xiàn)(目前的下一行)

c表示替換,c的后面可以接字符串,這些字符串可以替換n1,n2之間的行

d表示刪除

i表示插入,i后買呢可以接字符串,而這些字符串會在新的一行出現(xiàn)(目前的上一行)

p表示打印,將某個選擇的數(shù)據(jù)打印出來,通常會和參數(shù)-n一起運行

s表示替換,可以直接進行替換工作,sed ‘s/要被替換的字符串/新的字符串/g’

例如

awk是非常棒的數(shù)據(jù)處理工具。

awk ‘條件類型1{動作1} 條件類型2{動作2} 條件類型3{動作3}….’ filename

awk主要是處理每一行的字段內(nèi)的數(shù)據(jù),而默認的字段的分隔符是空格鍵或鍵。

例如

awk內(nèi)置變量有:

例如:

awk的邏輯運算符

例如:

我們發(fā)現(xiàn)上面會輸出之一行奇怪的數(shù)據(jù),是因為當讀入之一行的時候,變量之間還是以空格鍵進行分隔的,所有,我們雖然定義了FS=”:”,但是卻在第二行后開始生效,我們可以利用BEGIN這個關(guān)鍵字。

使用awk進行計算統(tǒng)計

例如

格式輸出中,在printf的格式設(shè)置中,務必加上\n,才能進行分行

在awk中變量可以直接使用,不用加上$符號

crontab進行工作調(diào)度

crontab

-u表示只有root才能進行這個任務

-e表示編輯crontab的工作內(nèi)容

-l表示查閱crontab的工作內(nèi)容

-r表示刪除crontab的所有工作內(nèi)容

例如

其中由6個字段組成

分別表示的意義是:

分鐘 小時 日期 月份 周 命令

-7 命令

其中周的0和7都表示星期日

表示任意時刻

,(逗號)表示分隔時段的意思,例如0 3,6 * * * commond,表示在3和6時執(zhí)行

-(減號)表示一段時間范圍,例如* * * commond,表示8到12時之間每小時的20分執(zhí)行。

/n(斜線)表示每隔n單位間隔的意思,例如

/5 * * * * commond,表示每隔5分鐘執(zhí)行一次。

執(zhí)行crontab -e這個crontab其實是/usr/bin/crontab這個執(zhí)行文件。

linux vi刪除重復行的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux vi刪除重復行,「Linux技巧」使用vi刪除文本中的重復行,在命令行模式下執(zhí)行命令的信息別忘了在本站進行查找喔。

成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網(wǎng)、IDC服務、應用軟件開發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶提供互聯(lián)網(wǎng)基礎(chǔ)服務!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務器和獨立服務器。創(chuàng)新互聯(lián)成都老牌IDC服務商,專注四川成都IDC機房服務器托管/機柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機房租用、服務器托管、機柜租賃、大帶寬租用,可選線路電信、移動、聯(lián)通等。


網(wǎng)站名稱:「Linux技巧」使用vi刪除文本中的重復行(linuxvi刪除重復行)
標題路徑:http://www.5511xx.com/article/dhhpoic.html