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

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


咨詢
建站咨詢
