使用sed命令;
創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都做網(wǎng)站、網(wǎng)站建設、外貿營銷網(wǎng)站建設、中方網(wǎng)絡推廣、成都微信小程序、中方網(wǎng)絡營銷、中方企業(yè)策劃、中方品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)建站為所有大學生創(chuàng)業(yè)者提供中方建站搭建服務,24小時服務熱線:028-86922220,官方網(wǎng)址:www.muchs.cn
具體查看使用規(guī)則:
#sed --help;
顯示文件X行命令:
#sed -n 'xp' filename
顯示文件X行到Y行的內容:
#sed -n 'x,yp' filename
相關顯示命令還有tail,cat.awk,head等,可以常看LInux命令大全,或者man命令|help命令查看相關用法。
在Linux下的開發(fā)中,printf打印調試信息默認輸出到標準輸出 stdout (即屏幕/終端)中。我們也可以使用輸出重定向技術輸出到指定文件中,輸出重定向即是把原本要輸出到屏幕的信息寫入到指定文件中。
但是有時候既要實時查看打印調試信息,又要把這些調試信息保存下來發(fā)給他人分析。
下面分享能達到這個需求的兩種方法:
1、使用script工具
script工具是一個非常使用的工具,可以把輸出到終端的信息記錄下來。使用方法如:
(1)輸入 script log.txt命令開始保存終端輸出的信息 ,其中l(wèi)og.txt為需要寫入的log文件,可隨意命名。
(2)輸入exit退出保存。
演示如下:
之前我只知道有script 這樣一個工具,而且經(jīng)常在Ubuntu上使用。奈何開發(fā)板里的系統(tǒng)沒這個工具,所以很長的一段時間我都是等程序跑完后我手動從終端拷貝全部信息到文本中保存。。。
剛開始程序跑得不久,日志信息還不是很多,還可以接受。后面程序跑久了,日志信息越來越多,再這么手動拷貝實在受不了。
所以找了另外的方法:使用tee工具。
2、使用tee工具
tee工具用于將數(shù)據(jù)重定向到文件,另一方面還可以提供一份重定向數(shù)據(jù)的副本作為后續(xù)命令的stdin。簡單的說就是把數(shù)據(jù)重定向到給定文件和屏幕上。
存在緩存機制,每1024個字節(jié)將輸出一次。若從管道接收輸入數(shù)據(jù),應該是緩沖區(qū)滿,才將數(shù)據(jù)轉存到指定的文件中。若文件內容不到1024個字節(jié),則接收完從標準輸入設備讀入的數(shù)據(jù)后,將刷新一次緩沖區(qū),并轉存數(shù)據(jù)到指定文件。
演示如下:
可見,使用tee工具輸入到文本里的內容比script工具輸入到文本里的內容還要干凈,就是程序打印輸出的東西。
sed = 文件名 | sed 'N;s/\n/:/' | sed -n '/顯示行包含的關鍵字/p',例子:
假設我有文件test,內容為:
Baidu123
ppppqqqq
bAidu567
a.此時我想把含有baidu的行以 "行號:該行完整內容"的形式輸出,則只需要執(zhí)行:
sed = test | sed 'N;s/\n/:/' | sed -n '/baidu/Ip' //最后p前面的是大寫的I
得到結果為:
1:Baidu123
3:bAidu567
*.忽略大小寫,還有一個比較笨的方法,使用[],將關鍵字的所有字母的大小寫都包括了,就來例來說,/[bB][aA][iI][dD][uU]/
b.輸出所有的行,不使用關鍵字過濾行,則只需要去掉最后一部分,即:
sed = test | sed 'N;s/\n/:/'
得到結果為:
1: Baidu123
2:ppppqqqq
3bAidu567
完!
---------------------------------------------
grep解決這個問題比較好吧,假設有文件test,內容為:
Baidu123
ppppqqqq
bAidu567
如果我想得到格式如 line: line_content這種格式內容的話:
grep -ni "baidu" test
結果為:
1:Baidu123
3:bAidu567
linux輸出文件有幾列可以使用catfilename|awk'{printNF}'命令可以得到每一行對應有多少列。
例如文件a.txt的內容為:
你好?北京?天安門
1234
12345
輸入并執(zhí)行cata.txt|awk'{printNF}'得出以下結果:
3
4
5
輸出結果分別代表第一行有3列,第二行有4列,第三行有5列。
1、Linux是一套免費使用和自由傳播的類Unix操作系統(tǒng),是一個基于POSIX和Unix的多用戶、多任務、支持多線程和多CPU的操作系統(tǒng)。伴隨著互聯(lián)網(wǎng)的發(fā)展,Linux得到了來自全世界軟件愛好者、組織、公司的支持。
它除了在服務器操作系統(tǒng)方面保持著強勁的發(fā)展勢頭以外,在個人電腦、嵌入式系統(tǒng)上都有著長足的進步。使用者不僅可以直觀地獲取該操作系統(tǒng)的實現(xiàn)機制,而且可以根據(jù)自身的需要來修改完善這個操作系統(tǒng),使其最大化地適應用戶的需要。
2、AWK是一個優(yōu)良的文本處理工具,Linux及Unix環(huán)境中現(xiàn)有的功能最強大的數(shù)據(jù)處理引擎之一。這種編程及數(shù)據(jù)操作語言的最大功能取決于一個人所擁有的知識。awk經(jīng)過改進生成的新的版本nawk,gawk,現(xiàn)在默認linux系統(tǒng)下日常使用的是gawk,用命令可以查看正在應用的awk的來源(ls-l/bin/awk)
擴展資料:
linux主要特性:
1、完全兼容POSIX1.0標準
這使得可以在Linux下通過相應的模擬器運行常見的DOS、Windows的程序。這為用戶從Windows轉到Linux奠定了基礎。許多用戶在考慮使用Linux時,就想到以前在Windows下常見的程序是否能正常運行,這一點就消除了他們的疑慮。
2、多用戶、多任務
Linux支持多用戶,各個用戶對于自己的文件設備有自己特殊的權利,保證了各用戶之間互不影響。多任務則是現(xiàn)在電腦最主要的一個特點,Linux可以使多個程序同時并獨立地運行。
3、良好的界面
Linux同時具有字符界面和圖形界面。在字符界面用戶可以通過鍵盤輸入相應的指令來進行操作。它同時也提供了類似Windows圖形界面的X-Window系統(tǒng),用戶可以使用鼠標對其進行操作。在X-Window環(huán)境中就和在Windows中相似,可以說是一個Linux版的Windows。
4、支持多種平臺
Linux可以運行在多種硬件平臺上,如具有x86、680x0、SPARC、Alpha等處理器的平臺。此外Linux還是一種嵌入式操作系統(tǒng),可以運行在掌上電腦、機頂盒或游戲機上。2001年1月份發(fā)布的Linux2.4版內核已經(jīng)能夠完全支持Intel64位芯片架構。同時Linux也支持多處理器技術。多個處理器同時工作,使系統(tǒng)性能大大提高。
參考資料來源:
百度百科-Awk
百度百科-linux
網(wǎng)站題目:linux命令輸出行數(shù)據(jù) linux輸入輸出命令
當前鏈接:http://www.muchs.cn/article6/doejoig.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站設計、關鍵詞優(yōu)化、網(wǎng)站設計公司、企業(yè)建站、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)