存档

作者存档

反省

2006年11月26日 没有评论

06.11.26

是男人吗?那为什么没有一点志气?

什么叫挫折?什么是困难?有吗?苦难?你经历过吗?根本就没有!
现在就经历这么一点小小的困难,就垂头丧气了?那在大风大浪面前你会是个什么样子呢?
别以为自己很委屈,这一切不都是你自己造成的吗?自己不努力学习,还想有好成绩?做什么
梦呢?这个世界上没有那么容易的事情.要想得到想要的东西, 不付出代价是不行的.
整天往电脑前面一坐就行了?吃的喝的穿的用的就都来了?屁!没有点真本事,光做那些看起来
很花哨的东西怎么能行呢?

郁闷吧,可能这也是一件好事. 没有这种郁闷,你还不知道自己的问题在哪里呢. 好好反省一
下吧. 怎么样做才像一个男人. 一次次垂头丧气, 有什么用? 关键是看自己的努力和行动.
没有行动怎么能有收获呢?

你不是为了自己一个人而活的. 你身上有着太多人的希望, 你不要让他们失望. 你身上还有
很多恶意的目光, 他们在等着看你的笑话呢!你不能让他们得惩! 什么学习就是书呆子? 那不
过是自己给自己的懒堕找的借口!

你不能混着活. 你要活得精彩.

分类: 一点心情 标签:

兄弟趣事(兄弟故事四)

2006年11月26日 没有评论

其一:

晚上无事,大家坐在床上打扑克。玩的是升级,参与者记不太清了。主角是激情。在大家手中都只剩两张牌的时候,某人调主,轮到激情出牌,激情紧张的思索了好一会,沉稳的甩出一张大王。我们均以为他有什么后手,结果他手中那张没有别人的大。

其二:

主角好像是英哥。英哥和恒哥在校外某小店买了东西,店主给他们找了一张50元的人民币。接着,几个人一起去吃饭,付钱的时候发现那钱是假的。而 几个人身上就这么50来块钱。当时的困窘可想而知。最后还是一个人回去取了钱才把其它人赎回来。英哥越想越气,晚上出去包宿的时候几个人来到了小店的窗 前,举起砖头,把窗户砸了个稀烂。店主吓的报了警,在电话里大喊:”操你妈!快点来啊,要死人了!”英哥他们跑到网吧时,远远的看到警车向小店驶去……

其三:

也是砸窗户的事。主角是黑子和老四。同样是因为被找了假钱,二人气愤难平,晚上包宿的时候,路过那个书店,二人商量,砸它个逼养的!老四说:” 我数一二三,咱俩一起扔。”,黑子表示赞同。二人一同拿起了砖头,老四飞快的数道:”一二三!”没有丝毫的停顿,接着砖头迅速出手,然后拔腿就跑,几个动 作一气呵成,绝不拖泥带水。可是苦了黑子,那傻逼还没做好准备,等老四都跑了,他还在那傻站着。结果差点让书店的人给抓住。

其四:

主角是魔鬼。俗话说:英雄脚臭,好汉屁多。可怜了我们的魔鬼,用奇爷的话说”魔鬼是英雄好汉”。我们隔壁的老邰也是英雄,犹其是刚踢完足球的时 候。有一次老邰踢完球回来,刚换了拖鞋,到我们寝来串门,结果刚拉开我们的门,就被魔鬼的脚臭气给熏的倒退了两步!老邰从此对魔鬼的脚叹服不已。

其五:

这次主角是猴子。晚上我们都不按时睡觉,熄灯后总要进行一下寝室卧谈。可是管楼的老太太不让,总是用寝室里的监听设备监督我们。如果发现有谁夜 里不睡觉而聊天的话,就给扣分。有一次猴子正侃的来劲呢,老太发话了:”别说了!再说扣分了!”猴哥脾气上来了,道:”老师,没事。给你拿一百分先扣着, 不够再说。”……

其六:

这回是我。当时我正在追一个女生,可是那女生不同意。黑子就鼓动我努力去追,找机会接近。有一次上自习,因为是星期六,所以自习室人不多,也就 个十几个人。那女生坐在最前面。我、黑子和几个弟兄坐在最后面。黑子就在那鼓骚,说:”给她写个条,传过去。”我就写了,结果人家不理。黑子又鼓骚:”去 和她坐一桌。”我也是,当时头脑一热就去了。屁股刚一挨板凳,那女生一声惊天动地的喝斥吓得我混身一哆嗦:”你干啥呀!!!”,接着她就换了个坐位,留下 我傻逼了呵的在那坐着……

其七:

主角是老四。那次是天上在下流星雨,一帮人不睡觉在看。当时是冬天,为了能看清就把窗户打开了,所以大家都穿着羽绒服。都是盲流子,看流星雨的 同时还在扯着嗓子在那嚎。老太当然不能允许。当大家听到老太上来的时候,都盖上被子假装睡觉。老太破门而入,估计是听见老四的声音了,直奔老四的床, 问:”干什么呢?”老四假装镇定:”睡觉呢。”声音无比无辜。老太也悍气,一把把老四的被掀了,喝道:”睡觉还穿羽绒服啊!”老四无辜的说:”我 冷。”……

其八:

主角是魔鬼。忘了是因为什么了,反正是什么人惹魔鬼生气了。魔鬼一怒之下飞起一脚,踹了门一脚。当时大家也没发现什么不对,因为门也没坏,什么 都很正常。结果第二天,奇爷找不到自己的鞋了,怎么找也找不到。后来,魔鬼晚上洗脚的时候在他自己的脸盆里找到了奇爷的鞋,原来魔鬼前一天的一脚把奇爷的 鞋送进了自己的脸盆……

其九

激情住上铺,下床的时候他都是背朝向床。有一次,他下床的时候没有扶好,失手掉了下来。但却没有落到地上,因为他的衣服刮在了床头的突起上。于是我们的激情就在那里那么挂着,上不着天下不着地……

其十

我们寝隔壁的一个兄弟外号红军,有一次早上起晚了,匆匆的洗了脸就往教室跑,幸好没有迟到。一天没什么异常,等到晚上回来的时候,发现早上洗脸时用的毛巾一直在膊子上挂着,整整一天……

其十一

英哥约我去包宿,我答应了。夜,英哥买好了吃的喝的先去的网吧等我。结果我那天犯困,没去。英哥自己空守了一夜。第二天英哥骂了我。我深深的为 自己的行为感到愧疚。英哥问我:”今天去不去?”我指天而誓:”今天肯定去。”结果当天老太把门锁了,我没出去,英哥又独自一人在网吧守了一宿……

其十二

我和奇爷一起去币子厅玩,看到一帮小孩欺负另一个小孩。点炮的那个骂了两句,开始动手,其他的人也往上拥。其中的一个小子冲着另一个喊:”把棒 子拿来!”后者迅速的甩出一个”棒子”,我们一看,就是一个塑料管子!又有一个小孩,拿着块砖头往被揍的那小孩头上拍。那砖头举起来的时候我还有点不忍, 心想,这还不得打出点事来啊。结果砖头拍下来我放心了:小孩跟本没劲,拍了好几下也不见被拍的小子有什么痛苦的表情。相比起来,我们另一次遇上的小流氓的 打架就要专业的多了。流氓甲带着女朋友,很牛逼的对流氓乙说:”走,出去打,别坏了老板的买卖。”二人出了币子厅,来到旁边的小胡同,流氓甲还没准备好, 流氓乙已经拿起了砖头,一下子拍下去,流氓甲顿时倒地,起不来了。接着流氓乙牛逼的对旁观的人喊:”看个鸡巴!”,于是众人做鸟兽散。前后只有几秒。

分类: 回首往事 标签: ,

我长大了(兄弟故事三)

2006年11月26日 没有评论

还记得高三的时候那次给英哥敬酒,英哥在我耳边小声说我”你长大了”. 当时听了这话, 我心里感慨颇多. 我终于也长大了, 不再是英哥口中的那个小孩了. 那时, 心里有种说不出的自豪. 可现在我才知道, 那种所说的”长大”, 其实是一种”妥协”. 向我无去改变的现实妥协. 当时我并不知道, 现在回想, 才觉出我英哥说那话的证据中确是带了一丝的无奈.

再看现在的我, 比那时的我长得更大了. 也更加”成熟”了, 说白了, 就是做了更大的妥协. 如今, 想看到我的真性情已经相当的难了. 那个用固执的口吻说着”走自己的路, 让别人说去吧” 的愣小子已经学乖了; 那个口无遮拦的骄傲的”小神童” 已经不在了. 我发现, 原来圆滑和世故才是长大的标志, 而胡子和喉结, 不过是表面的现象而已.

现在看很多没有”长大”的人, 总觉得与当年的我有相似的地方. 有时会觉得那样的愣头愣脑不谙世事的确有些招人讨厌,有时又觉得现在的自己是那么虚假做作从而又怀念起那些单纯的岁月.矛盾!就是这样, 真不知道哪一个才是好的.

我是希望保持那个纡的我. 可是生活中有太多的无奈, 不允许我有太多的率性. 很多事情还是要向既有的规则妥协. 而且, 年少的我已经在任性这方面吃过了大亏, 自己认为自己所作所为问心无愧, 做真的自己. 可是身边的人没有一个喜欢我的, 人缘奇差. 说真的, 我怕了, 怕那种孤独的感觉. 于是, 我改变自己, 因为我无法改变环境. 我开始按照规则办事, 开始成为一个”正常”的人. 果然, 大家好像有点喜欢我了. 人, 就是这样, 对与他们相似的人总是欢迎的, 不管这个人是不是好; 同样, 对与他们不同的人总是排斥的, 不管这个人是不是坏.

然而, 表面改变了的我, 内心深处, 固执而骄傲的我, 不但没有改变, 反而更加坚定. 说得好听点叫”绵里藏针”, 难听些叫”笑里藏刀”. 其实都是一回事. 于是, 我成了一个表里不一的人.

历史上的真正牛逼的人, 都是能够坚持自我的人. 他们不在乎别人怎么看他们, 所以他们能够成就别人成就不了的伟业. 但是他们也要忍受别人忍受不了的孤独. 我佩服他们, 却怎么也做不到. 我想这就是伟人和庸人的区别 : 你明明知道他是怎么做的, 可是你就是做不到. 当然, 有些人坚持了自我却没有成就伟业. 这说明, 那些坚持自我而与现实格格不入的人分为两类 : 牛逼人和傻逼人. 我, 不是其中的任何一个.

真牛逼的算是天下的第一等人了, 这样的我很少. 比这种人差一个档次的就是那些假牛逼的了. 假牛逼的不像真牛逼的那样坚持自我, 他们会妥协—在必要的时候. 可是他们的心中的原则却不会变. 于是, 他们可能有些小成就. 但是他们的成就是有限的, 是不可能与真牛逼的人相提并论的. 我这辈子大概做不成真牛逼的人了, 所以我正在努力做一个假牛逼的人.

比假牛逼的人再差一点的, 就是不牛逼的人. 他们不牛逼, 可是有的时候却被很多人当成是牛逼的人. 这种人完全放弃了对自我的坚守, 全面的信奉世俗的信条, 彻底的成为了一个俗人. 他们精于算计, 懂得规则, 他们知道如何才能使得自己得到最大的利益. 所以, 他们”成功”了. 虽然这”成功”的代价有点过于昂贵.

从”长大”这个角度看, 等一种人是最”幼稚”的, 而第三种人是最”成熟”的.

长大了, 咱也长大了. 只是, 不知道长到多大算合适呢?

分类: 回首往事 标签: ,

你以为你是谁?

2006年11月26日 没有评论

入夜了,太阳的最后一丝激情随着黑夜的降临终于无奈的隐去了.取而代之的是点点灯火,闪动着,有霓虹,有路灯,五光十色,分外耀眼.那灯火常给人白昼的错觉.于是,人们开始用”不夜”这个词.沉醉于灯红酒绿中的人们手擎着高脚杯穿梭在大理石地板上,明晃晃的吊灯下,用已酒精泡得变了颜色的话语述说着自己的亦或是别人的故事.却不知外面,那无边的黑暗已经降临.

我们可以大言不惭地宣称自己令世界不夜,但却永远无法真正的驱赶那无边的黑暗.纵然无数的看似灿烂的灯火把这世界点缀得如此令人心醉,却无法令抬首的一望变得同白天一样湛蓝透明.在自然的力量面前,人类的”伟大”显得多么苍白和渺小!无法想象,就是这群渺小得可怜的生物,一遍遍的叫着”征服自然”,”战胜自然”,一次次的用自己愚蠢的行为诠释着自己的无知和狂妄.

我们能建造房屋,可是就因为这个,我们就有资格讥笑那些为躲避寒冷而迁徙的候鸟吗?我们能用语言交流,可是就因为这个,我们就有资格说我们优越于那些沉默无言的狗吗?我们有高新的科学技术,可是就因为这个,我们就有资格鄙视那些未开化的野兽吗?可悲啊.这些还不是最可悲的,当我们用自己建造的房屋把我们彼此隔开,无法体会心与心紧帖的温暖时;当我们有完善的语言却彼此离心离德,充满猜忌而无法实现心的沟通时;当我们的科技带来越来越多的副效应给这个我们和其它生物共同生存的地球时,我们还是不知停止无知的自吹自擂,依旧高唱着”文明”的凯歌,俨然凯旋的将领在接受民众的簇拥,却不知所有的一切正在离我们远去:美丽的景色,清洁的空气,可爱的小动物,透明的溪流……

我想到了看过的一部电影,名字叫.在那影片的结尾,K把衣柜里的那些生物放到了J的柜里.那些生物把J奉为上帝.然后,K推开一扇门,给J看,J才发现原来人类自己就是生活在另一种生物的衣柜里……

我们自以为可以战胜自然,我们也高喊着”战胜自然”,可是自然呢?它一句话也不说,也没见着哪位朋友战胜了它.哥们们,自然不是我们的敌人,不用你去战胜.有功夫好好想想怎么讨好它,让它多赐予我们一些吧.别以为自己很牛逼,没有水照样活不了三天.你以为你可以轻易的杀死一只野兽是多么了不起呢?看看希特勒,杀了那么多的犹太人,自己弄得个自杀身亡.他以为犹太人是低等的民族,可是事实证明,犹太人不但不低等,而且还是一个称得上伟大的民族!

别以为自己是个谁,谦虚一点没有坏处的!

分类: 一点心情 标签:

说说奇爷(兄弟故事二)

2006年11月26日 没有评论

  奇爷是个少年老成的人。他是我们几个兄弟中当之无愧的老大。在当时的我的眼中,奇爷的想法总是那样成熟,他的言行总是带着浓浓的成人气息。当然,有时他也会像我们一样,在激愤时大骂,在感动时高歌,但多数时候,他不会像我们一样因一些幼稚的事兴奋不已,也不会因一时的冲动而干出可笑的事情。正因此,奇爷是我非常信任的人,在我看来,即使是把我的性命交给他,我也放心。

  然而奇爷的老成,也终究是孩子的老成。没有经历过生活的艰辛,便无法体会生命的真谛。奇爷,我们都只是懵懂的走在一条崎岖坎坷的路上,无法知道前面有何种艰涩抑或辉煌在等着我们。于是,我们唯一能做的就是肩并肩,手挽手的向前走,不回头。

  奇爷曾对我说:“没事,二愣子,我罩着你。”是啊,在真挚的友谊下伸出的援手曾助我度过了一个个漫长的黑夜,尽管仍不知道将走向何处,却能感受到一丝温暖。就像冬日里的一件单衣,虽不能御寒,却送来一丝安慰,告诉我:有人和你并肩。

  仍清楚地记得与奇爷一气和抻面馆的边老板调侃。一起说着、笑着、骂着……我们这些兄弟的友谊,没有闪耀的光环,它就像一瓶廉价的汽水,不中看,可是入口时浓烈的口感呛得你想流泪。最重要的:它解渴。当这汽水散去了浮躁喧哗的气泡,只剩下绵柔甘甜的液体时,我们的友谊沉静了下来。但这绝不是它生命的终结,它,随时会为我们中的任何一个而再次沸腾起来。

  我们的青春在嘈杂的人声和呛人的烟气中度过,我们的青春无法向别人诉说。只有我们自己能够清楚地体味这段难忘岁月中的甘甜与苦涩。

  记得一次与奇爷一同晚归,学校的大门已经锁了。我们两人和一辆自行车傻傻的站在门外,不知道如何是好。最后奇爷说,“抬进去!”我以为自己听错了,可是奇爷坚定的声音分明就在耳边。于是,我们使尽浑身解数,终于把自行车抬过了两米多高的大门。回到宿舍后,我们把这一壮举四处宣讲,言语中透着一股自豪。

  但,那股自豪中,分明含着一丝苦涩:我们没人可以依赖,只能靠自己,靠双手!

  载繁华都是人流不断的街头,我们游走着,我们身处这座城市,却没有那种归宿感,说不出的感觉在心头盘旋。直到踏进那小小的宿舍,闻到那刺鼻的汗臭,心中漾起强烈的家的感觉的时候,我们才意识到,我们只属于这扇门内的喧闹,不属于门外的繁华。

  时时结伴而行的我们,其实刻刻孤独!

分类: 回首往事 标签: ,

关于黑子(兄弟故事一)

2006年11月26日 没有评论

黑子:

一个放荡不羁的在漆黑的夜路上迷失了方向的浪子。

他竭力的挥霍着自己傲人的青春和无尽的活力,但在玩乐背后,我清楚地知道,他的心头也充满了苦涩。他是一个内心充满矛盾的青年。一方面不满于自己的无聊的生活现状,一方面又无力去改变,只能沉浸其中,那是一种痛入骨髓的无奈。但是,他无法把这无奈拿来与人分享,只能独自坐在黑暗里,吸着烟,自己品尝那被烟气稀释过的痛苦。

多少次,我和黑子一起走在漆黑的夜路上,放声唱着郑智化的歌。黑暗里,黑子手上总是闪着一星烟焰的光,只是极微弱的一星光亮,一如我们对我们的未来的憧憬,不可预见却又含着一丝执著或幼稚的希望。夜色里的长街,空空荡荡,尘世间的繁华在这一刻缄默不语了,只有满天星斗无言的注视着我们,两个血管里流动着一腔不甘的血液的迷途青年。

我曾想,未来究竟在哪?我想,黑子和其他兄弟们也一定想过这个问题,但是相信结果都是在百般烦躁后不再费神冥想,继续把自己投入到乱七八糟的生活中去,在浑浑噩噩里忘掉这些折磨人的问题。然而,无论如何逃避,现实永远是现实,如同酒精散去后依然滚烫的额头,除非找到有效的药物,否则,高温迟早会毫不留情的摧毁那些纪录着凌乱的年轻思考的脑细胞。

我们也试图寻找,但,没有找到。

黑子并不是黑子自己,黑子就是我们,是我们一帮臭味相投的兄弟的一个缩影。在对未来的迷茫中,我们放荡着,将青春抛洒在无聊之中,然后,在狂欢之后,安静下来时,独自在黑暗中咀嚼着那带着些酸涩,带着些清苦的孤独。共同的忧伤让我们聚在一起,用友情捂热彼此冰冷的心。

在那个轻狂的年纪,我们用一种单纯的热情编制起了一张诚恳地友情之网。它曾在风雨中将我们裹挟在一起,令我们在冰冷中尚可凭借彼此靠近的心获得一丝虽轻薄却永生难忘的温暖。

黑子的黑夜终会过去,我们这帮兄弟的黑夜也是一样。届时,阳光下,将多出一排挺拔的男人。

分类: 回首往事 标签:

国家兴亡,我的责任

2006年11月26日 1 条评论

这些是写在我看了(2005年1月20日)一文后写的,说真的,我心里挺不是滋味的.此文虽略带夸张,却戳中了我心中的痛处.

做为一门强势语言,英语被广泛应用是理所当然的.在今后的很长一段时间里,世界上最新的发现,最尖端的科研成果,都将首先用英语发布,因此,学习它是极为有用,也是极有必要的.说什么不用英语,不说外语,那无疑是一种自欺欺人,面对落后,面对弱势,我们该做的是接受和进取,而不是像前清遗老呼唤祖制那样呼唤语言的回归.今天,汉语的处境的确不妙,对英语的崇尚也的确令人担忧,但这一切又是什么决定的呢?试想,若是最优秀的诗人,学者,科学家都在在国,都在使用汉语,还会出现这样的局面吗?民族自尊心和自豪感最忠实的卫士不是无谓的呐喊,而是国家繁荣和民族的强大!

我们是该为汉语的明天担忧,可是这不是一两句呐喊能够解决的问题.记得我上党课的时候(虽然党课大多无趣,可还是有些值得学习的东西),有一位老师这样说:”不用说什么’国家兴亡,匹夫有责’,匹夫有责,就是匹夫无责,大家都指望别的’匹夫’,自己就不努力了.我们要说:’国家兴亡,我的责任’.国家没有富强,谁的责任?我的责任.这样你才能去主动建设它.”我觉得这话说得很有道理.不用说太多的话,只要你去做就行了.实干的人可能开始不会得到太多注视的目光,可是当他做出成果的时候,每一句话都是掷地有声的.相比之下,那些空洞的呐喊将变得”轻如鸿毛”.

从英语的强势,可以看出我们中华民族的落后.别跟我说什么我们中国经济发展迅速,我们又是一个世界强国了,那是纯粹的自欺欺人.弱就弱呗,怕什么的.我们努力发展就行了.何必骗自己呢?看我们的经济增长,是挺可观的,可是看总值呢?虽然排在前面,但照人家还是差得太远.如果再一平均的话,得了,哪里还拿得出手?我们习惯了”天朝大国”的荣耀,总是怀念那个独大的年代,可是,时代变了,我们就得跟着变,那种”天朝情结”是结束的时候了.我们要接受这样一个事实,我们很弱小,非常弱小,如果还不抓紧使自己强大起来,那我们以后的日子就难过了.

有些人,意识到了我们的落后,可是同时也夸大了我们的落后.言语中对中国的鄙视简直无以复加,好像他他妈的不是中国人一样.开口就是”中国人****”,”人家美国****”.哥们,记着点,你妈也是”中国人”,美国再好,你提起的时候也得在前面加上”人家”两个字.不要看着人家的饭碗眼红,有能耐自己挣去!说什么中国人素质人低,我看就是这种言必称国外的汉奸素质低.好好学习学习我们的科技工作者,他们在没日没夜的致力于我们的科学建设;好好学习学习我们的教师,他们在呕心沥血的提高我们的民族素质;好好学习学习我们的农民工朋友,他们在用血汗建设着我们的社会主义祖国!我们落后,光说有什么用呢?如果你是建筑师,多设计点房子,别昧着良心搞豆腐渣工程;如果你是司机,开好你的车,别动不动就超载;如果你是学生,学好你的习,别总想着搞对象;如果你是中国人,那就建设好你的祖国,别他妈的在那吃着祖国的饭却还骂用的不是金碗.做好自己的事,然后再来发议论.

发个倡议:争做爱国者,决不当汉奸!祖国强大计,责任在我肩!

分类: 一点心情 标签:

sed一句话技巧

2006年8月24日 没有评论

SED一句话技巧 Mar.23.2001

编:Eric Pement
version 5.1
译:段志岩 @ 吞吴
本文的最新版本通常在:

http://www.student.northpark.edu/pemente/sed/sed1line.txt

http://www.cornerstonemag.com/sed/sed1line.txt

本文的葡萄牙文版本可以在这里找到:

http://www.lrv.ufsc.br/wmaker/sed_ptBR.html

一、文本间距

二倍行距

sed G

在含空行的文件的行与行之间添加空行。输出文件的行与行之间的空行数不会多于一行。

sed '/^$/d; G'

三倍行距

sed 'G; G'

取消二倍行距(假定偶数行为空行)

sed 'n; d'

二、编号方式

标记行号(纯左对齐)。使用tab替代space可以保持页边距。

sed = filename | sed 'N; s/n/t/'

标记行号(号码在左,文本右对齐)。

sed = filename | sed 'N; s/^/ /; s/*(.{6,})n/1 /'

标记行号,但只输出非空的行。

sed '/./=' filename | sed '/./N; s/n/ /'

计算行数(类似于”wc -l”)

SED -N '$='

三、文本转换与替换

UNIX环境下:将DOS换行符转(CR/LF)换成Unix格式

sed 's/.$//' #假定所有行均以CR/LF结尾
sed 's/^M$//' #在bash/tcsh下,按Ctrl-V然后按Ctrl-M
sed 's/x0D$//' #gsed 3.02.80中可用,但第一个脚本更简单一些

UNIX环境下:将UNIX换行符转换成DOS格式

sed "s/$/'echo -e r'/" #ksh命令行模式下
sed 's/$'"/'echo r'/" #bash命令行模式下
sed "s/$/'echo r'/" #zsh命令行模式下
sed 's/$/r/' #gsed 3.02.80

DOS环境下:将Unix换行符(LF)转换成DOS格式

sed "s/$//" #方法一
sed -n p #方法二

DOS环境下:将DOS换行符(CR/LF)转换成Unix格式

#此操作不能在DOS版的sed中实现。转用tr来代替
tr -d r outfile #GNU tr version 1.22或以上

删除行首空白(space, tab),使文本全部左移。

sed 's/^[ t]*//' #请参照文末关于't'的注解

删除行末空白(space, tab)

sed 's/[ t]*$//' #请参照文末关于't'的注解

同时删除行首行尾空白(space, tab)

sed 's/^[ t]*//; s/[ t]*$//'

在每行行首插入5个空格(使页面右移)

sed 's/^/ /'

使文本全部靠右对齐(宽度为79列)

sed -e; a -e 's/^.{1, 78]$/ &/;ta'

使文本居中(宽度为79列)。

#方法一中,行首空格仍然有效,行尾被加上了空白以填补不足。
#方法二中,行首空白在居中过程中被抛弃,行尾也没有补白的空白。
sed -e :a -e 's/^.{1, 77}$/ &/;ta' #方法一
sed -e :a -e 's/^.{1, 77}$/ &/;ta' -e 's/( *)1/1/' #方法二

查找与替换:将每行中的”foo”替换成”bar”

sed 's/foo/bar/' #只替换每行中的第一个实例
sed 's/foo/bar/4′ #只替换每行中的第四个实例
sed 's/foo/bar/g' #替换一行中出现的所有实例
sed 's/(.*)foo(.*foo)/1bar2/' #替换每行倒数第二个实例
sed 's/(.*)foo/1bar/' #只替换替换每行倒数第一个实例

查找与替换:将不含”baz”的行中的”foo”替换成”bar”

sed '/baz/!s/foo/bar/g'

将”scarlet”"ruby”"puce”换为”red”

sed 's/scarlet/red/g; s/ruby/red/g; s/puce/red/g' #适用于大部分sed
gsed 's/scarlet|ruby|puce/red/g' #只适用于GNU的sed

颠倒行序(使末行变首行,首行变末行) (类似tac)

#HHsed的特性(或者是Bug)会导致空行被删除
sed '1!G;h;$!d' #方法一
sed -n '1!G; h; $p' #方法二

反序输出每一行(类似rev)

sed '/n/!G;s/(.)(.*n)/&21/;//D;s/.//' /*这里似乎有点问题*/

如果某行以反斜线结尾,则将下一行接在它的后面

sed -e :a -e '/$/N; s/n//; ta'

如果某行以等号开头, 则将它接在上一行的行尾,并将等号用一个空格来替换

sed -e :a -e '$!N; s/n=/ /; ta' -e 'P;D'

给数值字符串加逗点,如将”1234567″变为”1,234,567″

gsed ':a; s/B[0-9]{3}>/,&/;ta' #GNU sed
sed -e :a -e 's/(.*[0-9]([0-9]{3})/1,2/;ta' #其它sed

给带小数点和负号的数字加逗点(GNU sed)

gsed ':a;s/(^|[^0-9])([0-9]+)([0-9]{3}/12,3/g;ta'

每隔五行加入一个空行

gsed '0~5G' #只适用于GNU sed
sed 'n;n;n;n;G' #其它sed

四、选择输出特定的行

输出文件的前十行(与head类似)

sed 10q

输出文件和第一行

sed q

输出文件和末尾10行(与tail类似)

sed -e :a -e '$q; N;11, $D;ba'

输出文件的最后两行

sed '$!N; $!D'

输出文件的末行

sed '$!d' #方法一
sed -n '$p' #方法二

输出符合正则表达式的行(类似grep)

sed -n '/regexp/p' #方法一
sed '/regexp/!d/ #方法二

输出不符合正则表达式的行(类似grep -v)

sed -n '/regexp/!p' #方法一,其实现与上面的描述是一致的
sed '/regexp/d' #方法二,这样的语法更简单

输出某一正则表达式之前的一行,但不输出含有该正则表达式的行

sed -n '/regexp/{g;1!p;};h'

输出某一正则表达式之后的一行,但不输出含有该正则表达式的行

sed -n'/regexp/{n;p;}'

输出某一正则表达式之前和之后的一行,以及该正则表达式出现的行的行号(与”grep -A1 -B1″)

sed -n -e '/regexp/{=;x;l!p;g;$!N;p;D;}' -e h

提取含AAA和BBB和CCC(任意顺序)的行

sed '/AAA/!d; /BBB/!d; /CCC/!d'

提取含AAA和BBB和CCC(按该顺序)的行

sed '/AAA.*BBB.*CCC/!d'

提取含AAA或BBB或CCC的行(类似于egrep)

sed -e '/AAA/b' -e '/BBB/b' -e'/CCC/b' -e d #适用于大部分sed
gsed '/AAA|BBB|CCC/!d' #只适用于GNU sed

输出含有AAA的段落(空行分隔段落)

#以下脚本在HHsed v1.5 中要在'x;'后加上'G;'
sed -e '/./{H;$!d;}' -e 'x; /AAA/!d;'

输出含AAA和BBB和CCC(任意顺序)的段落

sed -e '/./{H; $!d;}' -e 'x;/AAA/!d; /BBB/!d; /CCC/!d'

输出含AAA或BBB或CCC的段落

sed -e '/./{H;$!d;}' -e 'x;/AAA/b' -e '/BBB/b' -e '/CCC/b' -e d
gsed '/./{H;$!d;};x;/AAA|BBB|CCC/b;d' #只适用于GNU sed

输出长度不小于65个字符的行

sed -n '/^.{65}/p'

输出长度小于65个字符的行

sed -n '/^.{65}/!p' #方法一,其实现与上面的描述是一致的
sed '/^.{65}/d' #方法二,这样的语法更简单

输出从给定正则表达式到文件末尾的部分

sed -n '/regexp/,$p'

输出指定行号的部分(如输出8-12行,包括本身)

sed -n '8, 12p'

输出第52行

sed -n '52p' #方法一
sed '52!d' #方法二
sed '52q;d' #方法三(在文件较大时效率更高)

从第三行开始,每七行输出一次

gsed -n '3~7p' #只适用于GNU sed
sed -n '3,${p;n;n;n;n;n;n;} #适用于其它sed

输出两个正则表达式之间的部分(包含本身)

sed -n "/regexp1/,/regexp2/p' #大小写敏感

五、选择性删除特定行

输出除两正则表达式之间部分之外的全部

sed '/regexp1/,/regexp2/d'

删除重复、连续的行(类似uniq)

#一系列重复的行中的第一行将被保留,其余的被删除
sed '$!N; /^(.*)n1$/!P; D'

删除重复、不连续的行

#注意不要造成缓冲区溢出,否则使用GNU sed
sed -n 'G; s/n/&&/; /^([ -~]*n).*n1/d; s/n//; h; P'

删除文件的前十行

sed '1, 10d'

删除文件的末行

sed '$d'

删除文件的最后两行

sed 'N; $!P;$!D;$d'

删除文件的最后10行

sed -e :a -e '$d;N;2,10ba' -e 'P;D' #方法一
sed -n -e :a -e '1, 10!{P;N;D;};N;ba' #方法二

每8行删除一次

gsed '0~8d' #只适用于GNU sed
sed 'n;n;n;n;n;n;n;d;' #适用于其它sed

删除文件中连续的空行(只保留一个空行),包括开头和结尾 (类似cat -s)

sed '/./,/^$/!d' #方法一,文件开头无空行,结尾保留一个空行
sed '/^$/N;/n$/D' #方法二,文件开头允许一个空行,结尾无空行

删除所有连续的空行,除了前两个之外

sed '/^$/N;/n$/N;//D'

删除文首所有的空行

sed '/./,$!d'

删除文末所有空行

sed -e :a -e '/^n*$/{$d;N;ba' -e '}' #适用于所有sed
sed -e :a -e '/^n*$/N;/n$/ba' #同上,但不包括gsed 3.02*

删除每一段落的最后一行

sed -n '/^$/{p;h;};/./{x;/./p;}'

六、特殊用法

去除man文档中的特殊字符(char,backspace)

#如果你使用Unix System V 或者 bash shell,'echo'命令需要一个'-e'参数
sed "s/.`echo b`//g" #Unix 环境下双引号是必需的
sed 's/.^H//g' #在bash/tcsh, 按Ctrl+V 然后按Ctrl+H
sed 's/.x08//g' #sed v1.5的十六进制表达式

获取Usenet/e-mail的头信息

sed '/^$/q' #删除第一个空行后的所有行

获取Subject头信息,但是要删除原始的”Subject:”部分

sed '/^Subject: */!d; s///;q'

获取返回地址头信息

sed '/^Reply-To:/q; /^From:/h; /./d;g;q'

为每一行行首添加一个尖括号和一个空格(引用)

sed 's/^ /> /'

删除行首的尖括号和空格(去除引用)

sed 's/^> //'

去除大部分HTML标签(适用于多行标签)

sed -e :a -e 's/<[^>]*>//g;/

提取多部分的UU编码的二进制文件,删除不必要的头信息,只留下UU编码的部分

#传送给sed的文件必须按适当的顺序
#版本一可以在命令行下输入
#版本二可以写成可执行的Unix脚本
sed '/^end/,/^begin/d' file1 file2 ... fileX | uudecode #版本一
sed '/^end/,/^begin/d' "$@" | uudecode #版本二

七、典型用法

sed接受一个或多个命令并按顺序对每一行输入执行全部这些命令。当所有的命令都对第一行执行以后,这一行被输出,然后开始对第二行进行处理,如此循环。前面的例子假定输入来自标准输入设备(如控制台,一般是通过管道的输入)。如果输入不来自stdin,可以在命令行中添加一个或多个文件名。输出将被送到标准输出设备。

如:

cat filename | sed '10q' #使用管道输入
sed '10q' filename #同样的效果,不过免去了使用cat
sed '10q' filename > newfile #重定向输出到磁盘

更多语法讲解,包括用包含编辑命令的文件来代替命令行输入,请参阅

  • 《sed&awk,2nd Edition》by Dale Dougherty & Arnold Robbins(O’Reilly, 1997; http://www.ora.com)
  • 《UNIX Text Processing》by Dale Dougherty & Tim O’reilly(Hayden Books, 1987)

或者参考Mike Arst写的教程。

要想发掘出sed的全部力量,你必须懂得”正则表达式”。关于正则表达式,请参阅:

  • 《Mastering Regular Expressions》 by Jeffrey Freidl (O’Reilly, 1997)

Unix系统中的man手册也会有所帮助(试试”man sed”,”man regexp”, 或者看看”man ed”中关于正则表达式的部分),不过man手册是出了名的难懂。它并不是用来教那些sed和正则表达式的初学者的,它是一个写给那些已经掌握了这些工具的人的手册。

八、引号的语法

以上的例子使用单引号而不是双引号来容纳编辑命令,因为sed通常用于Unix平台。单引号可以防止Unix shell对’$”`’这样的字符进行解释和展开,如果它们被包含在双引号中,那么这些就会发生。使用csh或其衍生而来的shell的人,即使是在单引号中,还需要把’!'前加上反斜线才能正确的运行上面的例子。DOS版本的sed总是要求用双引号而不是单引号来包含编辑命令。

九、在sed脚本中使用’t’

为了文档的清晰,我们使用了表达式’t'来代表一个脚本中的制表符。但是多数sed版本不识别’t'这个缩写,因此,在编写这些脚本时你要按TAB键。’t'这个缩写是为awk,perl,HHsed,sedmod,GNU sed v3.02.80的正则表达式所支持的元字符。

十、sed的版本

sed的版本之间确不太一样,可能在语法上有些许的不同。具体说来,很多版本不支持编辑命令中的标签(:name)或分支符(b,t),除了尾部的这些元素。我们使用了可以为大多数sed用户移植的语法,尽管GNU版本的sed允许更简洁的语法。
当读者看到一个相当长的命令像:

sed -e '/AAA/b' -e '/BBB/b' -e '/CCC/b' -e d

知道GNU可以让你把它减缩为:

sed '/AAA/b;/BBB/b;/CCC/b;d' #或者更简单
sed '/AAA|BBB|CCC/b;d'

是很令人高兴的。

另外,记住:很多sed的版本接受这样的命令像”/one/ s/RE1/RE2/”, 有一些不允许”/one/! s/RE1/RE2/”这样在’s'前包含空格的命令。这时,在输入命令的时候要去除空格。

十一、优化速度

当执行速度需要优化(由于输入文件很大或者处理器、CPU较慢)时,如果的替换命令前给出查找命令,替换操作会变得更快。如:

sed 's/foo/bar/g' filename #标准的替换操作
sed '/foo/ s/foo/bar/g' filename #这样执行起来更快
sed '/foo/ s//bar/g' filename #sed速记语法

在进行行的选择和删除操作时,如果你操作的行只是包含在文件前面的一部分时,在脚本中加入一个退出命令’q'会大幅缩减处理大文件的时间。如:

sed -n '45,50p' filename #输出45-50行
sed -n '51q; 45,50p' filename #同样的功能,但执行得更快

Page optimized by WP Minify WordPress Plugin