cat命令用于查看純文本文件(較短的):
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了南開(kāi)免費(fèi)建站歡迎大家使用!
$ cat [選項(xiàng)] 文件
以下是cat命令常用的3個(gè)選項(xiàng):
(1) $ cat -n 文件
-n 表示顯示行號(hào)。
(2) $ cat -b 文件
-b 表示顯示行號(hào),但是不包括空行。
(3) $ cat -A 文件
-A 表示顯示出不可見(jiàn)的符號(hào),如空格、tab鍵等。
more命令用于查看純文本文件(較長(zhǎng)的):
$ more [選項(xiàng)] 文件
more命令常用的一個(gè)參數(shù)是"- 數(shù)字",表示預(yù)先顯示的行數(shù),默認(rèn)是一頁(yè):
$ more -10 文件
head命令用于查看純文本文檔的前N行:
$ head [選項(xiàng)] 文件
(1) $ head -n 10 文件
這個(gè)命令表示顯示文件的前10行。
(2) $ head -n -10 文件
這個(gè)命令表示正常輸出,但是不顯示最后的10行。
tail命令用于查看純文本文檔的后N行:
$ tail [選項(xiàng)] [文件]
例如,顯示文件/etc/passwd的后10行:
$ tail -n 10 /etc/passwd
wc命令用于統(tǒng)計(jì)指定文本的行數(shù)、字?jǐn)?shù)、字節(jié)數(shù):
$ wc [參數(shù)] 文本
(1) $ wc -l 文本
-l 參數(shù)表示只顯示行數(shù)。
(2) $ wc -w 文本
-w 參數(shù)表示只顯示單詞數(shù)。
(3) $ wc -c 文本
-c 參數(shù)表示只顯示字節(jié)數(shù)。
Linux自帶有兩個(gè)文本編輯器:vi和nano。
使用nano編輯文件:
nano 文件名
點(diǎn)擊Ctrl-X可以退出編輯,選擇是否保存對(duì)文件的改動(dòng)。
使用vi編輯文件:
vi 文件名
vi有兩個(gè)模式:一個(gè)是編輯模式一個(gè)是命令模式。點(diǎn)擊i可以從命令模式進(jìn)入編輯模式,在點(diǎn)擊esc鍵可以重新進(jìn)入命令模式。我們一般進(jìn)入編輯模式,來(lái)進(jìn)行添加,修改,刪除。但是當(dāng)我們刪除和修改的內(nèi)容過(guò)多的時(shí)候,我們使用命令行模式,進(jìn)行修改,這樣方便,快捷,而命令行中,最常用到的是x,dd,u,p這四個(gè)命令:x:刪除當(dāng)前字符;dd:刪除當(dāng)前行;u:恢復(fù)前一步操作;p:復(fù)制之前刪除的行。
cat yourfile|while read line;do echo $line filetosave;dosomethine;done
上面的 yourfile 為你要讀取的文件,filetosave為保存每行的文件,dosomething為你執(zhí)行的動(dòng)作。
上面是循環(huán)讀取每行到文件filetosave 一直到文件結(jié)束,filetosave每次都只有一行內(nèi)容;
Linux下常用文本處理命令大全
Linux下面有很多經(jīng)典的非常有用的命令,其中處理文本的命令就有很多。下面就讓我們一起看看這些經(jīng)典的Linux文本處理命令有哪些吧。
一. sort
文件排序, 通常用在管道中當(dāng)過(guò)濾器來(lái)使用. 這個(gè)命令可以依據(jù)指定的關(guān)鍵字或指定的字符位置, 對(duì)文件行進(jìn)行排序. 使用-m選項(xiàng), 它將會(huì)合并預(yù)排序的輸入文件. 想了解這個(gè)命令的全部參數(shù)請(qǐng)參考這個(gè)命令的info頁(yè).
二. tsort
拓?fù)渑判? 讀取以空格分隔的有序?qū)? 并且依靠輸入模式進(jìn)行排序.
三. uniq
這個(gè)過(guò)濾器將會(huì)刪除一個(gè)已排序文件中的重復(fù)行. 這個(gè)命令經(jīng)常出現(xiàn)在sort命令的管道后邊.
四. expand, unexpand
expand命令將會(huì)把每個(gè)tab轉(zhuǎn)化為一個(gè)空格. 這個(gè)命令經(jīng)常用在管道中.
unexpand命令將會(huì)把每個(gè)空格轉(zhuǎn)化為一個(gè)tab. 效果與expand命令相反.
五. cut
一個(gè)從文件中提取特定域的工具. 這個(gè)命令與awk中使用的print $N命令很相似, 但是更受限. 在腳本中使用cut命令會(huì)比使用awk命令來(lái)得容易一些. 最重要的選項(xiàng)就是-d(字段定界符)和-f(域分隔符)選項(xiàng).
六. paste
將多個(gè)文件, 以每個(gè)文件一列的形式合并到一個(gè)文件中, 合并后文件中的每一列就是原來(lái)的一個(gè)文件. 與cut結(jié)合使用, 經(jīng)常用于創(chuàng)建系統(tǒng)log文件.
七. join
這個(gè)命令與paste命令屬于同類命令. 但是它能夠完成某些特殊的目地. 這個(gè)強(qiáng)力工具能夠以一種特殊的形式來(lái)合并兩個(gè)文件, 這種特殊的形式本質(zhì)上就是一個(gè)關(guān)聯(lián)數(shù)據(jù)庫(kù)的簡(jiǎn)單版本.
join命令只能夠操作兩個(gè)文件. 它可以將那些具有特定標(biāo)記域(通常是一個(gè)數(shù)字標(biāo)簽)的行合并起來(lái), 并且將結(jié)果輸出到stdout. 被加入的文件應(yīng)該事先根據(jù)標(biāo)記域進(jìn)行排序以便于能夠正確的匹配.
八. head
把文件的頭部?jī)?nèi)容打印到stdout上(默認(rèn)為10行, 可以自己修改). 這個(gè)命令有一些比較有趣的選項(xiàng).
九. tail
將一個(gè)文件結(jié)尾部分的內(nèi)容輸出到stdout中(默認(rèn)為10行). 通常用來(lái)跟蹤一個(gè)系統(tǒng)logfile的.修改情況, 如果使用-f選項(xiàng)的話, 這個(gè)命令將會(huì)繼續(xù)顯示添加到文件中的行.
十. wc
wc可以統(tǒng)計(jì)文件或I/O流中的”單詞數(shù)量”:
十一. fold
將輸入按照指定寬度進(jìn)行折行. 這里有一個(gè)非常有用的選項(xiàng)-s, 這個(gè)選項(xiàng)可以使用空格進(jìn)行斷行(譯者: 事實(shí)上只有外文才需要使用空格斷行, 中文是不需要的)(請(qǐng)參考例子 12-23和例子 A-1).
十二. fmt
一個(gè)簡(jiǎn)單的文件格式器, 通常用在管道中, 將一個(gè)比較長(zhǎng)的文本行輸出進(jìn)行”折行”.
十三. col
這個(gè)命令用來(lái)濾除標(biāo)準(zhǔn)輸入的反向換行符號(hào). 這個(gè)工具還可以將空白用等價(jià)的tab來(lái)替換. col工具最主要的應(yīng)用還是從特定的文本處理工具中過(guò)濾輸出, 比如groff和tbl. (譯者: 主要用來(lái)將man頁(yè)轉(zhuǎn)化為文本.)
十四. column
列格式化工具. 通過(guò)在合適的位置插入tab, 這個(gè)過(guò)濾工具會(huì)將列類型的文本轉(zhuǎn)化為”易于打印”的表格式進(jìn)行輸出.
十五. colrm
列刪除過(guò)濾器. 這個(gè)工具將會(huì)從文件中刪除指定的列(列中的字符串)并且寫到文件中, 如果指定的列不存在, 那么就回到stdout. colrm 2 4 filename將會(huì)刪除filename文件中每行的第2到第4列之間的所有字符. p="" /filename將會(huì)刪除filename文件中每行的第2到第4列之間的所有字符.
Caution: 如果這個(gè)文件包含tab和不可打印字符, 那將會(huì)引起不可預(yù)期的行為. 在這種情況下, 應(yīng)該通過(guò)管道的手段使用expand和unexpand來(lái)預(yù)處理colrm.
十六. nl
計(jì)算行號(hào)過(guò)濾器. nl filename將會(huì)把filename文件的所有內(nèi)容都輸出到stdout上, 但是會(huì)在每個(gè)非空行的前面加上連續(xù)的行號(hào). 如果沒(méi)有filename參數(shù), 那么就操作stdin.
nl命令的輸出與cat -n非常相似, 然而, 默認(rèn)情況下nl不會(huì)列出空行.
十七. pr
格式化打印過(guò)濾器. 這個(gè)命令會(huì)將文件(或stdout)分頁(yè), 將它們分成合適的小塊以便于硬拷貝打印或者在屏幕上瀏覽. 使用這個(gè)命令的不同的參數(shù)可以完成好多任務(wù), 比如對(duì)行和列的操作, 加入行, 設(shè)置頁(yè)邊, 計(jì)算行號(hào), 添加頁(yè)眉, 合并文件等等. pr命令集合了許多命令的功能, 比如nl, paste, fold, column, 和expand.
pr -o 5 –width=65 fileZZZ | more 這個(gè)命令對(duì)fileZZZ進(jìn)行了比較好的分頁(yè), 并且打印到屏幕上. 文件的縮進(jìn)被設(shè)置為5, 總寬度設(shè)置為65.
一個(gè)非常有用的選項(xiàng)-d, 強(qiáng)制隔行打印(與sed -G效果相同).
十八. gettext
GNU gettext包是專門用來(lái)將程序的輸出翻譯或者本地化為不同國(guó)家語(yǔ)言的工具集. 在最開(kāi)始的時(shí)候僅僅支持C語(yǔ)言, 現(xiàn)在已經(jīng)支持了相當(dāng)數(shù)量的其它程序語(yǔ)言和腳本語(yǔ)言.
想要查看gettext程序如何在shell腳本中使用. 請(qǐng)參考info頁(yè).
十九. msgfmt
一個(gè)產(chǎn)生二進(jìn)制消息目錄的程序. 這個(gè)命令主要用來(lái)本地化.
二十. iconv
一個(gè)可以將文件轉(zhuǎn)化為不同編碼格式(字符集)的工具. 這個(gè)命令主要用來(lái)本地化.
二十一. recode
可以認(rèn)為這個(gè)命令是上邊iconv命令的專業(yè)版本. 這個(gè)非常靈活的并可以把整個(gè)文件都轉(zhuǎn)換為不同編碼格式的工具并不是Linux標(biāo)準(zhǔn)安裝的一部分.
二十二. TeX, gs
TeX和Postscript都是文本標(biāo)記語(yǔ)言, 用來(lái)對(duì)打印和格式化的視頻顯示進(jìn)行預(yù)拷貝.
TeX是Donald Knuth精心制作的排版系統(tǒng). 通常情況下, 通過(guò)編寫腳本的手段來(lái)把所有的選項(xiàng)和參數(shù)封裝起來(lái)一起傳到標(biāo)記語(yǔ)言中是一件很方便的事情.
Linux下可以用sed命令向文件中追加內(nèi)容。
案例:把/etc/test1文件中1-10行內(nèi)容寫入到test2中
sed?-n?'1,10'p?/etc/test1?test2
#將file1的1-10行追加到file2
sed命令行格式為:
sed [-nefri] ‘command’ 輸入文本
常用選項(xiàng):
-n∶使用安靜(silent)模式;
-e∶直接在指令列模式上進(jìn)行 sed 的動(dòng)作編輯;
-f∶直接將 sed 的動(dòng)作寫在一個(gè)檔案內(nèi);
-r∶sed 的動(dòng)作支援的是延伸型正規(guī)表示法的語(yǔ)法;
-i∶直接修改讀取的檔案內(nèi)容,而不是由螢?zāi)惠敵觥??????
touch
filename.txt
新建一個(gè)txt文件;
cat
你要寫入的內(nèi)容
filename.txt
可以寫txt文件,
但原有的內(nèi)容會(huì)先被清除;
cat
你要寫入的內(nèi)容
filename.txt
可以寫txt文件,新的內(nèi)容追加到文件末尾
再看看別人怎么說(shuō)的。
網(wǎng)頁(yè)名稱:linux寫入文本命令行,linux命令行寫入文件
鏈接分享:http://jinyejixie.com/article46/hchheg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、微信小程序、網(wǎng)站收錄、靜態(tài)網(wǎng)站、做網(wǎng)站、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)