新聞中心
Linux技巧 涉及Linux系統(tǒng)的各種實(shí)際問(wèn)題,其中過(guò)濾之一行內(nèi)容是其中一個(gè)經(jīng)常需要處理的問(wèn)題。對(duì)于那些對(duì)Linux系統(tǒng)不熟悉或只是新手的人來(lái)說(shuō),此任務(wù)可能會(huì)顯得很棘手。但是,使用Linux的過(guò)濾器,要過(guò)濾之一行內(nèi)容其實(shí)很容易。下面就介紹一些簡(jiǎn)單、快速的方法。

我們提供的服務(wù)有:成都做網(wǎng)站、網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、石泉ssl等。為近1000家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的石泉網(wǎng)站制作公司
之一種方法:使用tl -n+2
Tl 是一種非常優(yōu)秀的Unix/Linux命令,用于查看文件的末尾幾行內(nèi)容。在過(guò)濾之一行的情況下,使用tl命令是相當(dāng)簡(jiǎn)單和快速的。使用tl -n+2命令閱讀文件內(nèi)容,并略過(guò)之一行。這意味著,您可以在使用tl命令時(shí),指定任意數(shù)目的行。
$ tl -n+2 file.txt
你可以將“file.txt” 替換成您要過(guò)濾的文件名。如果您想將過(guò)濾出的內(nèi)容輸出到終端屏幕上,而不是將它們保存到新文件中,則可以使用下面的命令。
$ tl -n+2 file.txt | less
這將在終端中顯示命令輸出的內(nèi)容。less命令將啟動(dòng)類似于vim編輯器的交互式屏幕,可以自由瀏覽過(guò)濾后的內(nèi)容。
第二種方法:使用awk
awk是一種強(qiáng)大的文本處理工具。如果您使用過(guò)它,那么您可能知道awk可以輕松地過(guò)濾之一行。請(qǐng)觀察以下命令。
$ awk ‘NR > 1’ file.txt
如果您想將過(guò)濾出的內(nèi)容保存到新文件中,可以使用下面的命令。
$ awk ‘NR > 1’ file.txt > newfile.txt
此命令將僅保存file.txt中的第二個(gè)及其后面的所有行,新文件將被命名為newfile.txt,并將其保存在當(dāng)前目錄中。
第三種方法:使用sed
Sed是另一種在Linux系統(tǒng)中廣泛使用的文本處理工具。使用它來(lái)過(guò)濾之一行內(nèi)容也是一個(gè)很好的選擇,而且不需要什么復(fù)雜的命令。下面是一個(gè)簡(jiǎn)單的命令,使用sed過(guò)濾之一行。
$ sed -n ‘2,$p’ file.txt
這將略過(guò)文件的之一行,并輸出文件的其余部分。如果您想將過(guò)濾出的內(nèi)容保存到新文件中,而不是輸出到終端,則可以使用下面的命令。
$ sed -n ‘2,$p’ file.txt > newfile.txt
這將創(chuàng)建一個(gè)名為newfile.txt的新文件,其中僅包含第二行及其后面的所有內(nèi)容。
結(jié)論:
這三種方式都是過(guò)濾之一行的好方法,根據(jù)您的需要選擇。有些工作對(duì)于每天使用Linux的人來(lái)說(shuō)可能會(huì)變得無(wú)聊和模擬,但實(shí)際上,這些任務(wù)可能會(huì)更快地通過(guò)掌握這些簡(jiǎn)單的技能和方法來(lái)完成工作。如果您是一個(gè)新手,在Linux系統(tǒng)中執(zhí)行各種任務(wù)時(shí),這些技巧無(wú)疑會(huì)讓您輕松自如。
相關(guān)問(wèn)題拓展閱讀:
- linux三劍客的基本使用——grep、sed、awk
- shell grep 的結(jié)果只取之一行
- Linux:如何用管道查看一個(gè)文件從第二行到最后一行的所有行(除之一行)
linux三劍客的基本使用——grep、sed、awk
grep、sed、awk是linux功能非常強(qiáng)大的三個(gè)命令,grep是查找過(guò)濾文本,sed是對(duì)文本進(jìn)行編輯替換,awk是對(duì)文本進(jìn)行分析報(bào)告。
最簡(jiǎn)單的理解就是找什么東西用grep,想修改什么內(nèi)容用sed,想格式化內(nèi)容用awk。
創(chuàng)建一個(gè)文件名為grep_text.txt的文件,并放入內(nèi)容:
SillyMadman is both a madman and a fool.
Everyone agrees with this sentence.
我要查找在grep_text.txt文件里有Silly的行
命令是: grep Silly grep_text.txt
會(huì)返回內(nèi)容:SillyMadman is both a madman and a fool.
也可以帶以下參數(shù),這些我認(rèn)為可能容易用到的參數(shù),其它的參數(shù)需要另行查找
文檔,比如可以使用正則進(jìn)行匹配。
內(nèi)容相關(guān)的
-B, –before context=NUM顯示所在行之前的行數(shù)
-A, –after context=NUM顯示所在行之后的行數(shù)
-C, –context=NUM打印輸出上下文的行數(shù)
過(guò)濾內(nèi)容相關(guān)的參數(shù):
-i, –忽略大小寫(xiě)區(qū)分
-w,–匹配查找的整個(gè)單詞
-x,–匹配查找的整行文本
-v, –過(guò)濾掉匹配的內(nèi)容
輸出內(nèi)容相關(guān)的參數(shù)
-n, –行號(hào)打印帶有輸出行的行號(hào)
比如,我要查找在grep_text.txt文件里不區(qū)分大小寫(xiě)查找sillymadman,并顯示行號(hào)和匹配文本純此的下一行,那么我可以用以下命令查找
grep sillymadman grep_text.txt -i -n -A1
內(nèi)容返回為
1:SillyMadman is both a madman and a fool.
2-Everyone agrees with this sentence.
總體而言grep的使用方式就是
grep (查找的內(nèi)容) (文件名)
grep也經(jīng)常搭配管道符號(hào)做弊迅”|”使用,比如我要查詢某程序的進(jìn)程,并去掉查找進(jìn)程本身,那么命令為
ps -ef | grep program_name | grep -v grep
再創(chuàng)建一個(gè)文件名為sed_text.txt的文件,并放入內(nèi)容:
SillyMadman is both a madman and a fool.
Everyone agrees with this sentence.
我想要在之一行下面添加一句:woshishazi
命令是:sed ‘1a\woshishazi’ sed_text.txt
返回內(nèi)容為:
SillyMadman is both a madman and a fool.
woshishazi
Everyone agrees with this sentence.
但是以上這個(gè)命令不會(huì)修改原文件,如果需要,需要加上-i
sed -i ‘1a\woshishazi’ sed_text.txt
上面a是代表append,從指定行后面新的一行添加數(shù)據(jù),還有其他操作
操作有以下這些
a :從下面一行新增
i :從上面一行插入,
d :刪除
c :整行替換
p :打印
s :對(duì)指定內(nèi)容進(jìn)行替換
下面稍卜晌微舉下例:
a: sed ‘1a\woshishazi’ sed_text.txt 從之一行后面添加
i: sed ‘1i\woshishazi’ sed_text.txt 從之一行前面插入
d: sed ‘1d’ sed_text.txt 刪除之一行
c: sed ‘1c\woshishazi’ sed_text.txt 替換之一行內(nèi)容為woshishazi
p: sed -n ‘1p’ sed_text.txt 打印之一行,一般搭配-n使用,其他內(nèi)容就不會(huì)再展示
s:這個(gè)相對(duì)復(fù)雜一點(diǎn)需要詳細(xì)說(shuō)明一下
sed的參數(shù)為 ‘s/要被替換的內(nèi)容/新的內(nèi)容/g’
行是一個(gè)可選項(xiàng),可以選擇具體的行進(jìn)行替換
g代表替換所有匹配到的內(nèi)容,也可以改為數(shù)字,表示第幾次匹配到時(shí)進(jìn)行替換
sed ‘s\SillyMadman\shafengzi\g’ sed_text.txt ,將所有SillyMadman替換為shafengzi
輸出結(jié)果為:
shafengzi is both a madman and a fool.
Everyone agrees with this sentence.
最后再創(chuàng)建一個(gè)文件名為awk_text.txt的文件,并放入內(nèi)容:
1 a
2 b
3 c
4 d
5 f
以空白符作為
分隔符
這個(gè)文本相當(dāng)于每一行有兩個(gè)字段。
那么打印之一個(gè)字段時(shí) awk ‘{print 0的話,則代表打印所有字段
awk默認(rèn)以空白符作為分隔符,也可以指定分割符通過(guò)-F
awk -F: ‘{print $1}’ awk_text.txt,以“:”作為作為分隔符
那么返回內(nèi)容就為
1 a
2 b
3 c
4 d
5 f
相當(dāng)于只有一列或者說(shuō)一個(gè)字段
然后還可以對(duì)前面加上一個(gè)正則對(duì)行進(jìn)行匹配內(nèi)容
awk ‘/a/{print 2 ~ /a/){print $1}’ awk_text.txt
返回內(nèi)容為
shell grep 的結(jié)果只取之一行
可以使用head -1 命令來(lái)只取grep到的數(shù)據(jù)的之一行。
例如一個(gè)文本文檔a.txt內(nèi)容是:
北京是我們的首都
北京天安門(mén)坐落在中華人民共和國(guó)首都北京市的中心
我在北京天安門(mén)廣場(chǎng)吃炸雞
使用命令 cat a.txt |grep 北京 | head -n 1 可以只取到之一行的數(shù)據(jù)
北京。
擴(kuò)展資料
Linux中head命令詳解:
head命令與tail命令用法相似,head命令用于查看文檔的開(kāi)始指定數(shù)量派睜的字符塊,默認(rèn)顯示文檔的前 10 行,如果給定的文件不止一個(gè),則在顯示的每個(gè)文件前面加一個(gè)文件名標(biāo)題。
1、grep命令用法格式
head 【參數(shù)】【文件】
2、命令選項(xiàng)
-c, –bytes=K k,顯示文檔開(kāi)始的前k個(gè)字節(jié),-k,不族世顯示文檔結(jié)尾的最后 k 個(gè)字節(jié)
-n, –lines=K k,顯示文檔開(kāi)始的前k行,-k,不顯示文檔結(jié)尾的最后 k 行
-q, –quiet, –silent 不顯示包含給定文件名的文件頭
-v, –verbose 總是顯示包含給定文件名的文件頭
–help顯示此幫助信塵穗歲息并退出
–version 顯示版本信息并退出
3、實(shí)例
#顯示前5行
head -n 5 head.txt
#顯示前5個(gè)字節(jié)
head -c 5 head.txt
用head命令
grep *.*|head -n 1
或
Linux:如何用管道查看一個(gè)文件從第二行到最后一行的所有行(除之一行)
用sed工具配合正則表達(dá)式虛指塵實(shí)現(xiàn),單引號(hào)內(nèi)就是差禪正則
# sed -n ‘2,$p’ /etc/passwd
或
# cat /etc/passwd | sed -n ‘2,$p’
-n 僅輸出符合條件的行逗納
p 打印內(nèi)容
2,$ 第2行到最后一行。
建議你去查找sed工具的使用方法和正則表達(dá)式,熟悉正則表達(dá)式的元字符
祝你好運(yùn)~~~
1、高雹攜awk ‘{if(NR!=1) print }’ filename
2、cat filename | tail -n +2
3、戚伏肆鏈 cat file|sed -n ‘2,$p’
這三種都可以~~~
sed -n ‘2,$p’ a.txt
關(guān)于linux 過(guò)濾之一行的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都網(wǎng)站推廣找創(chuàng)新互聯(lián),老牌網(wǎng)站營(yíng)銷公司
成都網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)(www.cdcxhl.com)專注高端網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì)制作,網(wǎng)站維護(hù),網(wǎng)絡(luò)營(yíng)銷,SEO優(yōu)化推廣,快速提升企業(yè)網(wǎng)站排名等一站式服務(wù)。IDC基礎(chǔ)服務(wù):云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)、服務(wù)器租用、服務(wù)器托管提供四川、成都、綿陽(yáng)、雅安、重慶、貴州、昆明、鄭州、湖北十堰機(jī)房互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)。
標(biāo)題名稱:Linux技巧:如何有效過(guò)濾之一行內(nèi)容? (linux 過(guò)濾之一行)
文章起源:http://www.5511xx.com/article/ccisccp.html


咨詢
建站咨詢
