一些linux命令行學(xué)習(xí)

1 less

space bar翻頁(yè), g第一行
G最后一行锌妻, j下, k上, /<pattern>往下搜索模式, ?<pattern>往上搜索模式, n前一個(gè)匹配字符, N后一個(gè)匹配字符撇贺。
-S 行過(guò)長(zhǎng)時(shí)間將超出部分舍棄
-N 顯示每行的行號(hào)

more 命令, cat vim 命令也可以查看文本
2 grep

比如我們要去除 空白行和行首為 #的行冰抢, 會(huì)這樣用:
grep -v '^$' regular_express.txt | grep -v '^#'
-v選項(xiàng)排除匹配到的松嘶, -w進(jìn)行完全匹配

-B指定輸出包括匹配到的前多少行,比如 -B1就是前一行挎扰; -A指定輸出包括匹配到的后多少行翠订,比如 -A2就是包括了后兩行巢音。 -C指定輸出包括匹配到的前后多少行。 grep支持基本正則表達(dá)式尽超, -E指定支持?jǐn)U展表達(dá)式官撼,或者用 egrep命令。 -c選項(xiàng)對(duì)匹配的行計(jì)數(shù)似谁; -o選項(xiàng)只抽離輸出匹配的部分
3 cut

grep -v "^>" kup.fasta | head -n 1 |cut -f 1-3
cut -f 看指定列
-d選項(xiàng)可以指定分隔符
使用 column命令來(lái)格式化輸出
grep -v "^>" kup.fasta | head -n 10 |cut -f 1-3|column -t
column -s "," -t #可以改變分隔符
grep -v "^>" kup.fasta | head -n 10 |cut -f 1-3| sed 's/"http://g' | sort | uniq | head -n 10 #去除冗余傲绣,只要唯一
#一般uniq和head要連起來(lái)使用。先把一樣的放在一起巩踏,再進(jìn)行刪除秃诵。
uniq -c 選項(xiàng)計(jì)數(shù)
uniq -d 只輸出重復(fù)行

4 join
合并兩個(gè)文件,需要有共同的一列蛀缝,所以我們sort之后join。

join -1 <file_1_field> -2 <file_2_field> <file_1> <file_2>
join -1 1 -2 1 example_sorted.bed example_length.txt > example_with_length.txt

如果文件內(nèi)容不一致目代,我們可以-a選項(xiàng)指定哪一個(gè)文件可以不遵循配對(duì)屈梁,不然不一致的行就會(huì)被刪除。
5 其他

ls -lh以易讀形式查看文件大小
wc -l 看行數(shù)
head tail -n選項(xiàng)可以指定行數(shù)
awk -F " " '{print NF;exit}' filename 輸出文檔列數(shù)榛了,只輸出第一行的在讶。
tail -n +2 kup.fasta | head -n 1 刪除前兩行,并check一下
grep -v "^>" kup.fasta | head -n 2 去除含有>的行霜大,并看第二行
file filename 查看文件類型

6 awk

awk '{print $0}' example.bed
#表示所有列
wsx@wsx-ubuntu:/tmp$ awk '$3 - $2 >18' example.bed

chr1    9   28

wsx@wsx-ubuntu:/tmp$ awk '$1 ~/chr1/ && $3 - $2 > 10' example.bed

chr1    26  39

chr1    32  47

chr1    9   28


# 這里 ~ 符號(hào)用來(lái)匹配正則表達(dá)式
#還有 awk存在一些變量构哺,像 NR表示行號(hào), OFS表示輸出分隔符等战坤。
wsx@wsx-ubuntu:/tmp$ awk 'NR >= 3 && NR <= 5' example.bed

chr3    11  28

chr1    40  49

chr3    16  27

Linux awk語(yǔ)句示例
7 sed
內(nèi)容太多了曙强。
生新技能樹文件

# 刪除空行
sed '/^$/d'
#每行后增加空行
sed G
# 在每5行后增加一空白行
gsed '0~5G'
# 在匹配式樣“regex”的行之后插入一空行
sed '/regex/G'
# 在匹配式樣“regex”的行之前和之后各插入一空行
sed '/regex/{x;p;x;G;}'
# 過(guò)濾所有的html標(biāo)簽
sed 's/<[^>]*>//g ; /^$/d' html.txt
# 代替 cat 功能 
sed ''
# 代替 head 功能 
sed '10 q'
# Dos2unix
sed 's/^M$//'
# Unix2dos
sed 's/$/\r/'
# nl(添加行號(hào))
# sed行號(hào)會(huì)獨(dú)占一行
sed = input.file | sed 'N;s/\n/\t/'
# tee
sed ‐n 'p; w new.txt'
# 代替 grep 功能 
sed ‐n '/pattern/p'
# grep -v
sed ‐n '/pattern/p!'
# 計(jì)算行數(shù)
sed -n '$='
# 多個(gè)內(nèi)容同時(shí)替換
sed 's/a\|b\|c/d/' tmp.txt
# 將每?jī)尚羞B接成一行
sed '$!N;s/\n/ /'
# 如果當(dāng)前行以等號(hào)開頭,將當(dāng)前行并到上一行末尾
# 并以單個(gè)空格代替原來(lái)行頭的“=”
sed -e :a -e '$!N;s/\n=/ /;ta' -e 'P;D'
# 顯示包含“AAA”途茫、“BBB”或“CCC”的行(任意次序)
sed '/AAA/!d; /BBB/!d; /CCC/!d'

7 shell 腳本

ll filename 查看權(quán)限
chmod u+x filename 更改權(quán)限
sh filename
./filename

如果想把文本字符串和命令輸出顯示在同一行中碟嘴,可以用 echo語(yǔ)句的 -n參數(shù)
Linux提供了一個(gè)專門的變量$?`來(lái)保存上個(gè)已執(zhí)行命令的退出狀態(tài)碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市囊卜,隨后出現(xiàn)的幾起案子娜扇,更是在濱河造成了極大的恐慌,老刑警劉巖栅组,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件雀瓢,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡玉掸,警方通過(guò)查閱死者的電腦和手機(jī)刃麸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)司浪,“玉大人嫌蚤,你說(shuō)我怎么就攤上這事辐益。” “怎么了脱吱?”我有些...
    開封第一講書人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵智政,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我箱蝠,道長(zhǎng)续捂,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任宦搬,我火速辦了婚禮牙瓢,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘间校。我一直安慰自己矾克,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開白布憔足。 她就那樣靜靜地躺著胁附,像睡著了一般。 火紅的嫁衣襯著肌膚如雪滓彰。 梳的紋絲不亂的頭發(fā)上控妻,一...
    開封第一講書人閱讀 51,708評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音揭绑,去河邊找鬼弓候。 笑死,一個(gè)胖子當(dāng)著我的面吹牛他匪,可吹牛的內(nèi)容都是我干的菇存。 我是一名探鬼主播,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼邦蜜,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼撰筷!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起畦徘,我...
    開封第一講書人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤毕籽,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后井辆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體关筒,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年杯缺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蒸播。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖袍榆,靈堂內(nèi)的尸體忽然破棺而出胀屿,到底是詐尸還是另有隱情,我是刑警寧澤包雀,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布宿崭,位于F島的核電站,受9級(jí)特大地震影響才写,放射性物質(zhì)發(fā)生泄漏葡兑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一赞草、第九天 我趴在偏房一處隱蔽的房頂上張望讹堤。 院中可真熱鬧,春花似錦厨疙、人聲如沸洲守。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)梗醇。三九已至,卻和暖如春搭独,著一層夾襖步出監(jiān)牢的瞬間婴削,已是汗流浹背廊镜。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工牙肝, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人嗤朴。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓配椭,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親雹姊。 傳聞我的和親對(duì)象是個(gè)殘疾皇子股缸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 本文筆記源自這里——[實(shí)驗(yàn)樓]歡迎大家在下面交流其中有問(wèn)題的地方喜歡請(qǐng)點(diǎn)收藏,每日更新(全部已親自實(shí)踐). 一. ...
    東皇Amrzs閱讀 3,992評(píng)論 7 54
  • 基礎(chǔ)命令 主要的命令和快捷鍵 Linux系統(tǒng)命令由三部分組成:cmd + [options]+[operation...
    485b1aca799e閱讀 1,099評(píng)論 0 0
  • 基礎(chǔ) 1. 學(xué)習(xí)基礎(chǔ)的bash用法吱雏,具體地說(shuō)敦姻,閱讀bash的man手冊(cè)(man bash 并通讀一遍);很簡(jiǎn)...
    Leon_Geo閱讀 1,115評(píng)論 1 19
  • 命令行的藝術(shù) 前言 基礎(chǔ) 日常使用 文件及數(shù)據(jù)處理 系統(tǒng)調(diào)試 單行腳本 冷門但有用 僅限 OS X 系統(tǒng) 僅限 W...
    進(jìn)擊的諾基亞閱讀 3,850評(píng)論 0 19
  • 項(xiàng)目上線之后歧杏,或者在測(cè)試環(huán)境镰惦,經(jīng)常會(huì)有bug讓我們?nèi)ヅ挪楹托薷模@個(gè)時(shí)候犬绒,我們需要在linux系統(tǒng)中使用一些命令幫...
    時(shí)之令閱讀 2,831評(píng)論 0 2