linux讀取文本的命令,linux文件讀寫操作

Linux如何使用正則表達式命令?文本文件操作命令

Linux對文本操作命令及正則表達式:

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都網(wǎng)站設計、網(wǎng)站制作、墨玉網(wǎng)絡推廣、成都小程序開發(fā)、墨玉網(wǎng)絡營銷、墨玉企業(yè)策劃、墨玉品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供墨玉建站搭建服務,24小時服務熱線:18982081108,官方網(wǎng)址:muchs.cn

cat

cat 是 concatenate 的縮寫,所以它的作用其實是連接文件。但默認情況下它會將連接文件的結果送到標準輸出。所以我們常用來顯示文件內容。類似于 dos 中的 type。

more

當一個文件的內容超過一屏后,我們可以用 more 這個指令來逐屏 察看 文件內容。

less

less 在 more 的基礎上,更可以逐行 察看 ,前后翻頁。

head

head 顯示文件開頭部分內容,默認顯示前十行參數(shù) --lines 或者 –n 指明顯示行數(shù)基本格式:

tail

tail 顯示文件結尾部分內容,命令用法同 head,參數(shù) -f 顯示文件的紀實更新,用于監(jiān)視日志文件

tail 默認顯示文件列表中每個文件的后 10 行,如果沒有文件名或文件名為“-”則其從標準輸入中讀取文件,如果有多個文件則其會在文件前面加上“==文件名==”以便區(qū)別。

# tail /etc/mail/sendmail.mc 默認查看文件的后 10 行內容

# tail –n 20 /etc/passwd 查看文件后 20 行內容

注意: # tail –f /var/log/message 實時監(jiān)控日志文件更新信息,非常重要

diff

diff 用于比較兩個文件之間的區(qū)別,并送到標準輸出。輸出時先報告兩個文件的哪一行不同?;靖袷剑?/p>

參數(shù):

uniq 用于去除文本中相鄰的重復行。

-u 參數(shù)可以只顯示那些沒有被重復過的行。 -d 顯示有被重復過的行。

cut

cut 可以根據(jù)一個指定的標記(默認是 tab)來為文本劃分列,然后將此列顯示。使用權限:所有使用者

基本格式: cut -cnum1 -num2 filename

說明:顯示每行從開頭算起 num1 到 num2 的文字。

[root@uplooking root] $ cut –f1 –d: /etc/shadow 表示以 : 為分隔符,顯示 /etc/shadow 的第一列 sort

sort 用來按各種需要重新排列文本,一般運用在一個管道之后。例如:

默認情況下 sort 按照字母順序排列文本。

wc

wc 用來統(tǒng)計一個文件的行數(shù)、詞數(shù)、字數(shù)并送到標準輸出。也可以用-l(行數(shù))、-w(詞數(shù))、-c(字數(shù))來指定輸出內容。

Linux下常用文本處理命令

Linux下常用文本處理命令大全

Linux下面有很多經(jīng)典的非常有用的命令,其中處理文本的命令就有很多。下面就讓我們一起看看這些經(jīng)典的Linux文本處理命令有哪些吧。

一. sort

文件排序, 通常用在管道中當過濾器來使用. 這個命令可以依據(jù)指定的關鍵字或指定的字符位置, 對文件行進行排序. 使用-m選項, 它將會合并預排序的輸入文件. 想了解這個命令的全部參數(shù)請參考這個命令的info頁.

二. tsort

拓撲排序, 讀取以空格分隔的有序對, 并且依靠輸入模式進行排序.

三. uniq

這個過濾器將會刪除一個已排序文件中的重復行. 這個命令經(jīng)常出現(xiàn)在sort命令的管道后邊.

四. expand, unexpand

expand命令將會把每個tab轉化為一個空格. 這個命令經(jīng)常用在管道中.

unexpand命令將會把每個空格轉化為一個tab. 效果與expand命令相反.

五. cut

一個從文件中提取特定域的工具. 這個命令與awk中使用的print $N命令很相似, 但是更受限. 在腳本中使用cut命令會比使用awk命令來得容易一些. 最重要的選項就是-d(字段定界符)和-f(域分隔符)選項.

六. paste

將多個文件, 以每個文件一列的形式合并到一個文件中, 合并后文件中的每一列就是原來的一個文件. 與cut結合使用, 經(jīng)常用于創(chuàng)建系統(tǒng)log文件.

七. join

這個命令與paste命令屬于同類命令. 但是它能夠完成某些特殊的目地. 這個強力工具能夠以一種特殊的形式來合并兩個文件, 這種特殊的形式本質上就是一個關聯(lián)數(shù)據(jù)庫的簡單版本.

join命令只能夠操作兩個文件. 它可以將那些具有特定標記域(通常是一個數(shù)字標簽)的行合并起來, 并且將結果輸出到stdout. 被加入的文件應該事先根據(jù)標記域進行排序以便于能夠正確的匹配.

八. head

把文件的頭部內容打印到stdout上(默認為10行, 可以自己修改). 這個命令有一些比較有趣的選項.

九. tail

將一個文件結尾部分的內容輸出到stdout中(默認為10行). 通常用來跟蹤一個系統(tǒng)logfile的.修改情況, 如果使用-f選項的話, 這個命令將會繼續(xù)顯示添加到文件中的行.

十. wc

wc可以統(tǒng)計文件或I/O流中的”單詞數(shù)量”:

十一. fold

將輸入按照指定寬度進行折行. 這里有一個非常有用的選項-s, 這個選項可以使用空格進行斷行(譯者: 事實上只有外文才需要使用空格斷行, 中文是不需要的)(請參考例子 12-23和例子 A-1).

十二. fmt

一個簡單的文件格式器, 通常用在管道中, 將一個比較長的文本行輸出進行”折行”.

十三. col

這個命令用來濾除標準輸入的反向換行符號. 這個工具還可以將空白用等價的tab來替換. col工具最主要的應用還是從特定的文本處理工具中過濾輸出, 比如groff和tbl. (譯者: 主要用來將man頁轉化為文本.)

十四. column

列格式化工具. 通過在合適的位置插入tab, 這個過濾工具會將列類型的文本轉化為”易于打印”的表格式進行輸出.

十五. colrm

列刪除過濾器. 這個工具將會從文件中刪除指定的列(列中的字符串)并且寫到文件中, 如果指定的列不存在, 那么就回到stdout. colrm 2 4 filename將會刪除filename文件中每行的第2到第4列之間的所有字符. p="" /filename將會刪除filename文件中每行的第2到第4列之間的所有字符.

Caution: 如果這個文件包含tab和不可打印字符, 那將會引起不可預期的行為. 在這種情況下, 應該通過管道的手段使用expand和unexpand來預處理colrm.

十六. nl

計算行號過濾器. nl filename將會把filename文件的所有內容都輸出到stdout上, 但是會在每個非空行的前面加上連續(xù)的行號. 如果沒有filename參數(shù), 那么就操作stdin.

nl命令的輸出與cat -n非常相似, 然而, 默認情況下nl不會列出空行.

十七. pr

格式化打印過濾器. 這個命令會將文件(或stdout)分頁, 將它們分成合適的小塊以便于硬拷貝打印或者在屏幕上瀏覽. 使用這個命令的不同的參數(shù)可以完成好多任務, 比如對行和列的操作, 加入行, 設置頁邊, 計算行號, 添加頁眉, 合并文件等等. pr命令集合了許多命令的功能, 比如nl, paste, fold, column, 和expand.

pr -o 5 –width=65 fileZZZ | more 這個命令對fileZZZ進行了比較好的分頁, 并且打印到屏幕上. 文件的縮進被設置為5, 總寬度設置為65.

一個非常有用的選項-d, 強制隔行打印(與sed -G效果相同).

十八. gettext

GNU gettext包是專門用來將程序的輸出翻譯或者本地化為不同國家語言的工具集. 在最開始的時候僅僅支持C語言, 現(xiàn)在已經(jīng)支持了相當數(shù)量的其它程序語言和腳本語言.

想要查看gettext程序如何在shell腳本中使用. 請參考info頁.

十九. msgfmt

一個產(chǎn)生二進制消息目錄的程序. 這個命令主要用來本地化.

二十. iconv

一個可以將文件轉化為不同編碼格式(字符集)的工具. 這個命令主要用來本地化.

二十一. recode

可以認為這個命令是上邊iconv命令的專業(yè)版本. 這個非常靈活的并可以把整個文件都轉換為不同編碼格式的工具并不是Linux標準安裝的一部分.

二十二. TeX, gs

TeX和Postscript都是文本標記語言, 用來對打印和格式化的視頻顯示進行預拷貝.

TeX是Donald Knuth精心制作的排版系統(tǒng). 通常情況下, 通過編寫腳本的手段來把所有的選項和參數(shù)封裝起來一起傳到標記語言中是一件很方便的事情.

Linux文本操作常用命令

在Linux系統(tǒng)里常用于文本查看、操作、統(tǒng)計的命令:

通過多敲鍵盤,形成手感 肌肉記憶 ,熟練掌握這些命令,在以后生信分析中游刃有余。以下是每個命令的詳細的介紹(主要是跟著 生信技能樹小郭老師 學習做的筆記)

接下來通過示例把10個命令的常用參數(shù)和用法展示出來:

參數(shù)的用法介紹:

注意事項:

用 cat 命令可以 查看文本 ,也可以 編輯文本 ,編輯文本要加 符號,退出時,另起一行,按 control C 退出

zcat可以查看壓縮的文本文件,tac逆向查看

結合 管道符| 使用

head / tail -n :查看文件的前 / 后 n 行,默認 10 行 (在R語言里head和tail默認是前6行)。

less命令用得最多 ,more命令用得比較少

3.1 less命令

less [參數(shù)] 文件名

less命令重要的補充用法1 :

需要注意 退出 :只要使用less命令, 按q鍵

less命令重要的補充用法2 :

參數(shù)用法:

less命令 不加參數(shù) 查看文件:

less命令加 -N參數(shù) 查看文件:顯示行號

less命令加 -S參數(shù) 查看文件:單行顯示,非常規(guī)整

對比:less和cat命令顯示文本行號的用法:less -N,cat -n

3.2 more命令

**more ** 逐頁查看,按空格翻頁,按回車換行 ,more命令一般很少用,熟練掌握less命令就好

查看壓縮文件

wc 統(tǒng)計字符是也把換行符統(tǒng)計進去,但是別的命令不一定會把換行符算進去,。

常見參數(shù):

切記:用less命令,按q退出

cut命令是按關鍵詞來切的

常見參數(shù):

排列前:

排列后:

解釋:1和0比,1大;7和0比,7大…在sort字典排序里,100816比1737小,所以100816排在前面。

命令行查看一個表格結構時,因為制表符對齊的原因,出現(xiàn)一個錯位的現(xiàn)象。還有 字典排序 可能和我們平時的認知不一樣,所以 加上-n參數(shù) , 讓數(shù)值有數(shù)學意義上的大小來排序 。

uniq命令去重,只有兩行出現(xiàn)重復,而且是相鄰的兩行,如果不相鄰,即使出現(xiàn)兩行一模一樣,不會去重。

uniq命令通常和sort命令搭配使用

換其它文件試試

總之,uniq命令使用時經(jīng)常和sort一起

常見參數(shù):

常見用法1:

paste file1 file2

-s :按行合并 演示

常見用法2 : paste - -

常見參數(shù):

要養(yǎng)成一個好習慣,原始數(shù)據(jù)不要輕易修改,修改的東西另外保存,文本保存用 (重定向)或是 (追加)

1. 用 less 查看 example.gtf ,然后管道符傳遞給 wc

2. 截取 example.gtf 第 9 列的內容

3. 在第2步的基礎上截取分號分割的第1列

4. 在第3步的基礎上排序、去重復并統(tǒng)計

5. 在第4步的基礎上,將空格替換成制表符

補充小知識 :

清屏 :control L

查看歷史(輸入過的)命令 :history

linux查看文件內容命令

常用的7個Linux文件內容查看命令:

1.cat由第一行開始顯示文件內容

用法:

cat-A 相當于-vET的整合選項,可列出一些特殊字符而不是空白;

cat-b 列出行號,僅針對非空白行做行號顯示,空白行不標行號;

cat-E 將結尾的斷行字節(jié)$顯示出來;

cat-n 列印出行號,連同空白行也會有行號,與-b的選項不同;

cat-T 將[tab]按鍵以^I顯示出來;

cat-v 列出一些看不出來的特殊字符;

2.tac 由最后一行開始顯示文件內容

tac-b 在行前而非行尾添加分隔標志;

tac-r 將分隔標志視作正則表達式來解析;

tac-s 使用指定字符串代替換行作為分隔標志;

3.nl 顯示行號

nl-b a 無論是否為空行,均列出行號;

nl-b t 空行不列出行號;

nl-n ln 行號在熒幕的最左方顯示;

nl-n rn 行號在自己欄位的最右方顯示,且不加0;

nl-n rz 行號在自己欄位的最右方顯示,且加0;

nl-w 行號欄位的占用的位數(shù);

4.more 一頁一頁的顯示文件內容

在more程序運行過程中,可以按以下鍵:

空白鍵(space):代表向下翻一頁;

Enter:代表向下翻『一行』;

/字串:代表在這個顯示的內容當中,向下搜尋『字串』這個關鍵字;

:f:立刻顯示出檔名以及目前顯示的行數(shù);

q:代表立刻離開more,不再顯示該文件內容。

b或[ctrl]-b:代表往回翻頁,不過這動作只對文件有用,對管線無用。

5.less與more類似,但是比more更好的是,他可以往前翻頁

less運行時可以輸入的命令有:

空白鍵:向下翻動一頁;

[pagedown]:向下翻動一頁;

[pageup]:向上翻動一頁;

/字串:向下搜尋『字串』的功能;

?字串:向上搜尋『字串』的功能;

n:重復前一個搜尋(與/或?有關!);

N:反向的重復前一個搜尋(與/或?有關!);

q:離開less這個程序;

6.head 顯示前幾行

語法:

head-n 后面接數(shù)字,代表顯示行數(shù);

7.tail 顯示后幾行

tail-n 后面接數(shù)字,代表顯示行數(shù);

tail-f 表示持續(xù)偵測后面所接的檔名,要等到按下[ctrl]-c才會結束tail的偵測;

標題名稱:linux讀取文本的命令,linux文件讀寫操作
鏈接分享:http://muchs.cn/article16/hcpegg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供Google、品牌網(wǎng)站制作、標簽優(yōu)化網(wǎng)站制作、響應式網(wǎng)站域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)