cat file.csv | awk -F '\t' '{print $2}'

創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營銷推廣、網(wǎng)站重做改版、峰峰礦網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、電子商務(wù)商城網(wǎng)站建設(shè)、集團公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為峰峰礦等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
'\t'指的是file.csv不同列以'\t'分割,如果的是以其他符號分割,換成其她符號;
'{print $2}'是指取第2列,此處從1開始計數(shù),第1列,第2列;
一般去重之前要進行排序
cat file.csv | awk -F '\t' '{print $2}'?| sort | uniq
前半部分與命令1一樣,后面加上| sort | uniq
比如通過命令2發(fā)現(xiàn),第2列取值有兩種,分別是'neg'和‘pos’,那么我想知道有多少行的第2列取值為'pos',多少行的第2列取值為'neg'。
cat file.csv | awk -F '\t' '{print $2}'?|?grep -o 'neg'| wc -l
前半部分與命令1一樣,后面加上?|?grep -o 'neg'| wc -l
grep -o 'neg'就是取出取值為'neg'的行
wc -l 是計數(shù)有多少行
在Linux系統(tǒng)里常用于文本查看、操作、統(tǒng)計的命令:
通過多敲鍵盤,形成手感 肌肉記憶 ,熟練掌握這些命令,在以后生信分析中游刃有余。以下是每個命令的詳細(xì)的介紹(主要是跟著 生信技能樹小郭老師 學(xué)習(xí)做的筆記)
接下來通過示例把10個命令的常用參數(shù)和用法展示出來:
參數(shù)的用法介紹:
注意事項:
用 cat 命令可以 查看文本 ,也可以 編輯文本 ,編輯文本要加 符號,退出時,另起一行,按 control C 退出
zcat可以查看壓縮的文本文件,tac逆向查看
結(jié)合 管道符| 使用
head / tail -n :查看文件的前 / 后 n 行,默認(rèn) 10 行 (在R語言里head和tail默認(rèn)是前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命令是按關(guān)鍵詞來切的
常見參數(shù):
排列前:
排列后:
解釋:1和0比,1大;7和0比,7大…在sort字典排序里,100816比1737小,所以100816排在前面。
命令行查看一個表格結(jié)構(gòu)時,因為制表符對齊的原因,出現(xiàn)一個錯位的現(xiàn)象。還有 字典排序 可能和我們平時的認(rèn)知不一樣,所以 加上-n參數(shù) , 讓數(shù)值有數(shù)學(xué)意義上的大小來排序 。
uniq命令去重,只有兩行出現(xiàn)重復(fù),而且是相鄰的兩行,如果不相鄰,即使出現(xiàn)兩行一模一樣,不會去重。
uniq命令通常和sort命令搭配使用
換其它文件試試
總之,uniq命令使用時經(jīng)常和sort一起
常見參數(shù):
常見用法1:
paste file1 file2
-s :按行合并 演示
常見用法2 : paste - -
常見參數(shù):
要養(yǎng)成一個好習(xí)慣,原始數(shù)據(jù)不要輕易修改,修改的東西另外保存,文本保存用 (重定向)或是 (追加)
1. 用 less 查看 example.gtf ,然后管道符傳遞給 wc
2. 截取 example.gtf 第 9 列的內(nèi)容
3. 在第2步的基礎(chǔ)上截取分號分割的第1列
4. 在第3步的基礎(chǔ)上排序、去重復(fù)并統(tǒng)計
5. 在第4步的基礎(chǔ)上,將空格替換成制表符
補充小知識 :
清屏 :control L
查看歷史(輸入過的)命令 :history
利用linux命令行進行文本按行去重并按重復(fù)次數(shù)排序linux命令行提供了非常強大的文本處理功能,組合利用linux命令能實現(xiàn)好多強大的功能。本文這里舉例說明如何利用linux命令行進行文本按行去重并按重復(fù)次數(shù)排序。主要用到的命令有sort,uniq和cut。其中,sort主要功能是排序,uniq主要功能是實現(xiàn)相鄰文本行的去重,cut可以從文本行中提取相應(yīng)的文本列(簡單地說,就是按列操作文本行)。用于演示的測試文件內(nèi)容如下:[plain]Hello
World.
Apple
and
Nokia.
Hello
World.
I
wanna
buy
an
Apple
device.
The
Iphone
of
Apple
company.
Hello
World.
The
Iphone
of
Apple
company.
My
name
is
Friendfish.
Hello
World.
Apple
and
Nokia.
實現(xiàn)命令及過程如下:[plain]1、文本行去重
(1)排序
由于uniq命令只能對相鄰行進行去重復(fù)操作,所以在進行去重前,先要對文本行進行排序,使重復(fù)行集中到一起。
$
sort
test.txt
Apple
and
Nokia.
Apple
and
Nokia.
Hello
World.
Hello
World.
Hello
World.
Hello
World.
I
wanna
buy
an
Apple
device.
My
name
is
Friendfish.
The
Iphone
of
Apple
company.
The
Iphone
of
Apple
company.
(2)去掉相鄰的重復(fù)行
$
sort
test.txt
|
uniq
Apple
and
Nokia.
Hello
World.
I
wanna
buy
an
Apple
device.
My
name
is
Friendfish.
The
Iphone
of
Apple
company.
2、文本行去重并按重復(fù)次數(shù)排序
(1)首先,對文本行進行去重并統(tǒng)計重復(fù)次數(shù)(uniq命令加-c選項可以實現(xiàn)對重復(fù)次數(shù)進行統(tǒng)計。)。
$
sort
test.txt
|
uniq
-c
2
Apple
and
Nokia.
4
Hello
World.
1
I
wanna
buy
an
Apple
device.
1
My
name
is
Friendfish.
2
The
Iphone
of
Apple
company.
(2)對文本行按重復(fù)次數(shù)進行排序。
sort
-n可以識別每行開頭的數(shù)字,并按其大小對文本行進行排序。默認(rèn)是按升序排列,如果想要按降序要加-r選項(sort
-rn)。
$
sort
test.txt
|
uniq
-c
|
sort
-rn
4
Hello
World.
2
The
Iphone
of
Apple
company.
2
Apple
and
Nokia.
1
My
name
is
Friendfish.
1
I
wanna
buy
an
Apple
device.
(3)每行前面的刪除重復(fù)次數(shù)。
cut命令可以按列操作文本行。可以看出前面的重復(fù)次數(shù)占8個字符,因此,可以用命令cut
-c
9-
取出每行第9個及其以后的字符。
$
sort
test.txt
|
uniq
-c
|
sort
-rn
|
cut
-c
9-
Hello
World.
The
Iphone
of
Apple
company.
Apple
and
Nokia.
My
name
is
Friendfish.
I
wanna
buy
an
Apple
device.
下面附帶說一下cut命令的使用,用法如下:[plain]cut
-b
list
[-n]
[file
...]
cut
-c
list
[file
...]
cut
-f
list
[-d
delim][-s][file
...]
上面的-b、-c、-f分別表示字節(jié)、字符、字段(即byte、character、field);
list表示-b、-c、-f操作范圍,-n常常表示具體數(shù)字;
file表示的自然是要操作的文本文件的名稱;
delim(英文全寫:delimiter)表示分隔符,默認(rèn)情況下為TAB;
-s表示不包括那些不含分隔符的行(這樣有利于去掉注釋和標(biāo)題)
三種方式中,表示從指定的范圍中提取字節(jié)(-b)、或字符(-c)、或字段(-f)。
范圍的表示方法:
n
只有第n項
n-
從第n項一直到行尾
n-m
從第n項到第m項(包括m)
-m
從一行的開始到第m項(包括m)
-
從一行的開始到結(jié)束的所有項
在寫這篇文章的時候,用到了vim的大小寫轉(zhuǎn)化的快捷鍵:gu變小寫,gU變大寫。結(jié)合ctrl+v能夠?qū)⒁黄淖种械淖址M行大小寫轉(zhuǎn)換,非常好用。
uniq 對排序好的內(nèi)容進行去重
-c 顯示輸出中,在每行行首加上本行在文件中出現(xiàn)的次數(shù)。
分享文章:linux中去重命令 linux中重命名命令
文章網(wǎng)址:http://chinadenli.net/article44/hpgjee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、網(wǎng)站改版、網(wǎng)站排名、營銷型網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)