新聞中心
在Linux系統(tǒng)中,當(dāng)我們需要對文本進行編輯和處理時,常常需要刪除特定范圍內(nèi)的行。例如,我們有一份包含100行數(shù)據(jù)的文本,需要刪除第10到20行的數(shù)據(jù),這個時候就需要使用Linux命令來實現(xiàn)。

本文將介紹的方法,包括以下內(nèi)容:
1. 使用sed命令刪除行區(qū)間
2. 使用awk命令刪除行區(qū)間
3. 使用vim編輯器刪除行區(qū)間
1.使用sed命令刪除行區(qū)間
sed命令是一個強大的文本處理工具,可以用來實現(xiàn)文本編輯、轉(zhuǎn)化和替換等功能。使用sed命令可以簡單地刪除文本中的某一行或某一范圍內(nèi)的行。下面是刪除第10到20行的命令:
“`
sed ‘10,20d’ filename
“`
其中,d為刪除命令,10,20表示刪除的范圍,filename為文件名。執(zhí)行該命令后,第10到20行的文本內(nèi)容就被刪除了。
2.使用awk命令刪除行區(qū)間
awk命令是一個強大的文本處理工具,可以用來實現(xiàn)文本分析、處理和格式化等功能。下面是刪除第10到20行的命令:
“`
awk ‘NR20’ filename
“`
其中,NR表示當(dāng)前記錄號,即行號。該命令的含義是輸出行號小于10或大于20的行,也就是刪除了第10到20行的文本內(nèi)容。
3.使用vim編輯器刪除行區(qū)間
vim是Linux中一個流行的文本編輯器,可以用來對文本進行編輯和處理。下面介紹如何使用vim刪除文本行區(qū)間。
使用vim打開文件:
“`
vim filename
“`
然后,在命令模式下輸入以下命令:
“`
:10,20d
“`
其中,:表示進入vim的命令模式,10,20表示刪除的范圍。執(zhí)行該命令后,第10到20行的文本內(nèi)容就被刪除了。使用:wq命令保存退出即可。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗豐富以策略為先導(dǎo)10多年以來專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,響應(yīng)式網(wǎng)站制作,設(shè)計師量身打造品牌風(fēng)格,熱線:028-86922220Linux三劍客(sed)-編輯匹配到的文本
sed編輯器是一行一行的處理文件,正在處理的內(nèi)容存放在模式空間(緩沖區(qū))中,處理完畢后按照選項的規(guī)定進行輸出或文件的修改。
sed主要用來自動編輯一個或多個文件;簡化歲斗文件的反復(fù)操作,用于非交互編譯文件。
可以使用一個簡單的數(shù)字,或是一個行號范圍
注意:p的動作是:打印匹配行。
1. 原始文件:
2. sed的默認(rèn)動作
(1)sed的默認(rèn)動作是打印文件中的所有行。
3. 打印特定行
(1)因為sed命令默認(rèn)打印文件中所有行。所以第三行會被打印兩遍。那如何只打印第三行呢?使用【-n】命令,只打印匹配的行。
(2)使用【-n】命令,只打印匹配到的行
(3)打印行
(4)打印包含模式的行
(5)打印包含模式和指定行號之間的行
(6)包含模式和包含模式之間的行
(7)
{}執(zhí)行多個命令(command),使用;隔開。=是顯示文件行的行號。p是打印匹配行
(8)!取反操作
(9)q命令:之一個模式匹配完成后退出或立即退出,使用該命令打印前5行
(1)使用進行正則匹配
(2)其他的正則表達式
(1)打印出以#開頭的行,然后用!進行反選,則表示過濾掉以#開頭的行,不會過濾掉空格。
(2)匹配以#開頭的行,進行取反,則打印出非#開頭的行,然后其結(jié)果在對空格開頭的行進行取反。即
過濾掉以#開頭的行和以空格開頭的行。
{}表示在定位行執(zhí)行的命令組。
(3)sed支持對單個文件實現(xiàn)不同的操作,每個操作用-e參數(shù)。定位到執(zhí)行的行后,使用d命令,直接刪除匹配到的行。
需要注意的是,對源文件的添加要使用【-i】參數(shù)。
s:使用替換模式替換相應(yīng)模式
(1)在匹配行前面替換字符,使用【s】命令。
(2)在所有行開頭替換元素【s】
(3)在所有行的末尾替換元素
(4)指定行,進行替換操作
(5)【&】符號代表的是匹配到的字符。在匹配到字符后,可以使用&代替。
(6)在匹配到行前面添加一行,使用【i】的命令
(7)在匹配行的后面添加一行,使用【a】命令
(8)當(dāng)添加多行時,使用\n來轉(zhuǎn)義
(9)@代表的是【地址定界符】,一般由三個組成,坦雀散定讓氏界符可以是/,$,#等特殊字符,此命令表示,匹配特定字符的行進行替換。
(10)使用命令【g】修改全文中出現(xiàn)的匹配字符。
(11)若后面接數(shù)字之后在接g,表示匹配的行中,第幾次出現(xiàn)。就替換,2g表示替換行中第二次出現(xiàn)。
(1)刪除以非#號開頭的行,即顯示以#號開頭的行。
(2)刪除之一行
(3)刪除最后一行
(4)刪除指定的行區(qū)間
(5)刪除包含特定單詞的行
本文參考:
關(guān)于linux中刪除文本行區(qū)間的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都創(chuàng)新互聯(lián)科技有限公司,經(jīng)過多年的不懈努力,公司現(xiàn)已經(jīng)成為一家專業(yè)從事IT產(chǎn)品開發(fā)和營銷公司。廣泛應(yīng)用于計算機網(wǎng)絡(luò)、設(shè)計、SEO優(yōu)化、關(guān)鍵詞排名等多種行業(yè)!
本文名稱:如何使用Linux刪除文本行區(qū)間(linux中刪除文本行區(qū)間)
標(biāo)題URL:http://m.fisionsoft.com.cn/article/cooddcd.html


咨詢
建站咨詢
