sed/awk系列 | 传闻中的Linux三剑客

“ 每个Linux老鸟都知道,在Linux中 一切皆文件 ,那么对于文件的处理就至关重要,所以我们今天开始学习Linux的文本处理三剑客。”

无论是刚刚接触Linux的人,还是已经对Linux略有了解的人都会常常有这样的需求产生,我现在有一个文本(由ps cat ls ...或者管道传过来的)需要进行处理,需要删除包含特定元素的行,需要查找包含特定元素的行输出,或者替换某些字符到另外的字符等等··· ···

此外,在生物信息学当中,也会有很多的数据包含了自己不需要的行或者文件开头或者结尾有注释行需要删除,但是文件可能好几个G,使用Vim删除打开就很麻烦等等··· ···

诸如此类的需求,都将从今天开始,对你来说,不再是一个难题!

1 三剑客之三 grep

grep命令应该是大家接触Linux比较早就可以接触到了命令了,因为grep使用非常简单,可以快速的查找到我们想要的特定行,并且还具有计数功能,结合其它的基本处理命令也可以完成复杂的文本处理操作。

grep:用于查找文件里符合条件的字符串。

本期先给出一个简单的小案例来让大家看看grep的魅力,后面会用特定的一期来讲解grep的重要参数和使用。
注:grep 和 sort uniq cut等共同食用更佳哦!

# 切换到/dev目录
cd /dev
# 查看文件 我们可以发现这个目录下有非常多的文件
ls -l
# 查找名字包含 null的文件
ls -l | grep null
# 结果
# crw-rw-rw-  1 root root      1,   3 Sep  7 11:21 null

上面就是一个简单的grep的小例子,我们常常在一个包含很多文件夹下查找一个模糊名字的文件,那么grep就是你最好的选择!

2 三剑客之二 sed

当你使用过了grep以后,你也许会想,我现在不只是想查找一个特定文本行了,我现在想要对文本行进行删除,或者我想对文本行进行替换,那我应该怎么做呢?

不要着急,如果说grep是查找界的明星,那sed就是替换界的巨星,当然它在查找的能力上也完全不输grep,甚至在复杂查找的情况下完爆grep!

sed:表示 Stream Editor,翻译过来就是流编辑器,它可以执行各种功能,如搜索、查找、修改、插入或删除文件。

sed的使用比较复杂,但是不用着急,我后面会通过2-3期的推文来对sed的常用参数来进行讲解,并且配以练习和习题解答,让你真正的学会如何使用sed进行文件处理,达到你自己的标准。
下面给两个简单的案例,

案例一,删除开头包含#的行

# 复制一份待处理的文件
cp /bin/zipgrep .
# 查看这个文件的内容 我们可以看到很多的#开头的行
cat zipgrep
# 删除开头包含#的行 并且替换原来的文件
sed -i -e '/^ \{0,\}#/d' zipgrep
# 再次查看文件
cat zipgrep

案例二,在文件的最后一行后添加新行,内容为 Hello world!

# 添加新行
sed -i -e '$aHello world!' zipgrep
# 查看文件
cat zipgrep
# 我们可以看到文件末尾多了一个新行

上面的命令不需要看懂,只需要你体验一下sed的魅力即可,后面会有详细讲解,让你可以根据自己的需要去定制属于你自己的sed的功能。

3 三剑客之首 awk

说完了sed,我们最后再来说说三剑客之首,awk。awk其实已经不能说是一个简单的命令了,它其实都可以作为一门语言而存在了,awk具有一门语言该有的基本语句,包括循环和判断等等。但是每当提到awk的时候,大家都会提起perl语言,因为awk能做到了perl也可以做到,awk做不到的perl还可以做到,那么我们为什么还要学习awk呢?

我自己的理由有三点,首先,awk在做基本文本处理的能力上优于perl语言,而且简单容易写(相对于perl),其次,awk的速度优于perl语言,这个我经过了比较片面的评测,后面大家有兴趣可以自己试一试,超大序列文件的处理上awk肯定是有优势了,更别提awk也可以和管道一起使用的灵活性了,最后,现在大多数生信都基于python,尤其是对于新手来说,学习一门新的语言非常的吃力,而且语法的混淆也会给工作带来很多烦恼。

说了这么多,我们来正式介绍一下我们这个新朋友吧,awk - 一种处理文本文件的语言,是一个强大的文本分析工具,它的名字来自它的三位创始人的名字的首字母,大家有兴趣的可以去搜一下,都是大佬。

关于awk后面会有很长的篇幅介绍,此处就不给大家举例子了。

如果你喜欢我的文章,请收藏我的文章并且给我个赞,你的支持就是我更新的最大的动力,关注我会有更多惊喜哦,专注于生物信息学以及数据分析入门和进阶教程,也许我给不了你从10-100,但是我可以给你最好的从0-10!

最后,关注我的公众号,领取更多学习资料吧!!!

打开v搜索,”轻松玩转生信“或者从下面文章进去获取二维码关注哦

二维码传送门

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,695评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,569评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,130评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,648评论 1 297
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,655评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,268评论 1 309
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,835评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,740评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,286评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,375评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,505评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,185评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,873评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,357评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,466评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,921评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,515评论 2 359

推荐阅读更多精彩内容