文字提取 分析和修改工具

2022-07-15 19:12:13 字數 3568 閱讀 7666

一、提取文字工具:

1.檔案內容:less和cat

less通過n/n進行查詢到搜尋的內容

2.文字摘要:head和tail

head使用-n顯示頭部行數

tail也可以使用-n顯示尾部行數,具體用法如下:#cat test.txt | tail -n3或者#cat test.txt | heal -n4

可以用來擷取某個檔案裡面第五行之後的7行內容如:#cat test.xtx | head -n 11 | tail -n 7

3.通過列提取:cut

4.通過關鍵字提取:grep

列印出模式匹配到的檔案或者標準輸入行

$grep 'john' /etc/passwd

$date --help | grep year

。使用-i查詢時不區分大小寫

。使用-n列印匹配到的行號

。使用-v列印不包含匹配模式的行

。使用-ax包括在每次匹配之後x行

。use -bx包括每次匹配之前x行

使用vim可以指定開啟對應檔案的行號,如:vim +34  /etc/passwd 進入/etc/passwd檔案中的第34行

如過濾檔案中配置有效的檔案,即取出空行和#的行,如下:#cat test.txt | grep ^# -v | grep -v ^$等同於命令:

#cat test.txt | grep -ev   '^(#|$)'=#cat test.txt | grep -ev   '(^#|^$)'。

以下為修改檔案的操作:

通過列提出文字cut

顯示檔案指定的列或者標準輸入的資料

.$cut -d :-f1 /etc/passwd  //提取/etc/passwd 檔案中分隔符按照":「,第乙個欄位的內容

.$grep root /etc/passwd | cut -d:-f7

使用-d指定列的分隔符(預設為tab)

使用-f指定要列印的列

使用-c按字元切分

eg:通過以下方式獲取字串中5-12為字元:

排序文字sort

.排序文字到標準輸出-未修改原始檔

.$sort [options] file(s)

.命令選項

。-r執行反響(降序)排序

。-n按數字執行排序

。-f忽略字串中的大小寫

。-u(唯一)移除輸出中重複的行

。-t c使用c作為字元分隔符

。-k x對欄位x排序

。能使用多次

eg:使用sort命令對/etc/passwd檔案第三列進行排序:

#cat /etc/passwd | sort -t : -k 3 -n

去除重複的行:sort和uniq

sort -u:從輸入中移除重複的行

uniq:從輸入中移除重複相鄰行

.使用-c來統計重複的次數

.最好與sort一起使用:$sort userlist.txt | uniq -c (先排序然後使用uniq統計次數)

分析文字的工具:

.文字統計:wc

收集文字統計資訊wc(單詞統計)

。統計單詞,行,位元組和字元

。能使用在乙個檔案後者標準輸入上

。$cat  /etc/passwd | wc [-w|-l|-c]

。使用-l作為行數統計

。使用-w作為單詞統計

。使用-c作為位元組統計

。使用-m作為字元統計(不顯示)

.文字排序:sort

.對比檔案:diff和patch

對比兩個檔案找出差異$diff foo.conf-broken foo.conf-works(對比結果《箭頭是foo.con-broken,>箭頭是foo.conf-works檔案內容,其中6c6中c表示被修改了5d4

複製檔案所做的改變patch

diff輸出儲存到乙個檔案裡,稱呼其為「補丁檔案」

。使用-u作為「統一」格式的diff,適用於補丁檔案

patch複製所做的改變到其他檔案中(小心使用!)

。使用-b自動備份欲改變的檔案

$diff -u foo.conf-broken foo.conf-works >foo.patch   //比較foo.conf-broken(v1.0版本)與foo.conf-works(v2.0版本)對比,將結果重定向到foo.patch中

$patch -b foo.conf-broken

.拼寫檢查:aspell

操作文字的工具tr和sed:

.修改**換)字元:tr

。將一些列字元轉化成對應的另外一系列字元

。只從標準輸入中讀取資料

$tr 'a-z' 'a-z'

<

lowercase

.txt

.修改字串:sed

。流編輯器

。對文字流做查詢/替換操作

。通常不會修改原檔案

。使用-i.bak來備份並修改原檔案

例項:。用引號括起查詢和替換指令!

。sed定址:

#sed 's/dog/cat/g' pets

#sed '1,50s/dog/cat/g' pets

#sed '/digby/,/duncan/s/dog/cat/g' pets

。多個sed指令

sed -e 's/dog/cat/' -e 's/hi/lo/' pets

sed -f myedits pets //這裡-f是呼叫已經寫好替換規則的myedits的檔案,pets是需要使用該規則的檔名

sed格式(下面的/、#、@為分界定位符): sed 『s/查詢內容1 /替換內容2/'用於沒有/的替換

sed 's#  #  #'

sed 's@  @  @'

sed修飾符:g(global)全域性;i(case-insensitive)無視大小寫;d(delete)

區間替換:sed m,n s/  /  /    //使用m,n,m為起始位置,n為結束為止,來實現區間查詢替換。

#cat ./iptables.lst | sed '87,93s/172.24./10.0./'  //將iptables.lst檔案中數字87到93的區間內容為172.24.替換為10.0.

#cat animal.txt | sed '/cat/,/dog/s/$/

-e開關可以講多個表示式合併起來,實現多個替換。

以上命令中的方法有多個替換語句,可以使用-f引數檔案來實現,呼叫的時候使用sed -f 被呼叫的檔案

ARCGIS 疊加 提取分析工具

分析工具 空間變化 屬性變化 union合併 打斷後保留所有面 與合併要素相交的部分,在原屬性上增加合併要素屬性 intersect相交 打斷後保留公共部分 新增相交要素的屬性 symmetrical difference均勻插值 打斷後保留非公共部分 原屬性 新增字段 identity標記 打斷後...

dds提取工具 轉錄組分析工具之 DESeq2

1 轉錄組分析介紹 轉錄組分析是目前應用最廣的高通量測序分析技術之一。常見設計是不同樣品之間比較,尋找差異基因 標誌基因 差異剪接和新轉錄本,並進行結果視覺化 功能注釋和網路分析等。轉錄組分析流程通常包括資料質控 過濾 序列比對 轉錄本拼接 可選 表達定量 相關性分析 差異基因表達分析 kegg分析...

awk文字分析工具

awk命令,可以通過鍵入指令碼名稱來呼叫 首行為 bin awk 這樣就可以編寫awk的指令碼 f 網域名稱分隔符,預設為空格 常用 awk f print 1 file name 0 是一整行 1 位域分隔符的後的第乙個域,以此類推 簡單的呼叫方式 注意 1變數不要被引號包裹 begin 表示在未...