Linux编程之《sed的流艺术之四》-linux命令五分钟系列之二十四仓酷云
功能实在太强了,在配合exec参数或者通过管道重定向到xargs命令和grep命令,可以完成非常复杂的操作,如果同样的操作用图形界面的工具来完成,恐怕要多花十几陪的时间。例十假如设定了良多-e的command,它们的实行按次是如何的呢?
$catmysed.txt
Beijing2003
Beijing2004
Beijing2005
Beijing2006Beijing2007
Beijing2008
$sed-e‘s/Beijing/London/g’-e‘/Beijing/d’mysed.txt
London2003
London2004
London2005
London2006
London2007
London2008
后一个-e中包括了删除Beijing地点行,可是最初的了局倒是一切行都输入了,实在这就是由实行按次招致的,第一个-e已将Beijing都交换成了London了,以是怪不得第二个-e找不到Beijing了。
例十一读取一个特定文件的内容,将其拔出到本文件指定的中央:
$catins.txt
====China====
$catmysed.txt
Beijing2003
Beijing2004
Beijing2005
Beijing2006
Beijing2007
Beijing2008
$sed‘/2005/rins.txt’mysed.txt
Beijing2003
Beijing2004
Beijing2005
====China====
Beijing2006
Beijing2007
Beijing2008
此命令用于在含有2005的行上面拔出ins.txt文件的内容。
例十二将某些指定行写进到特定文件中
$sed‘/200/wnew.txt’mysed.txt
Beijing2003
Beijing2004
Beijing2005
Beijing2006
Beijing2007
Beijing2008
$catnew.txt
Beijing2004
Beijing2005
Beijing2006
看,wnew.txt暗示将含有2004、2005、2006的行写进到new.txt文件中。
例十三利用a在特定行“上面”拔出特定内容
$catnew.txt
Beijing2004
Beijing2005
Beijing2006
$sed‘/2004/aChina’mysed.txt
Beijing2003
Beijing2004
China
Beijing2005
Beijing2006
Beijing2007
Beijing2008
利用a然后加上必要加的内容便可。
例十四利用i在特定行“下面”拔出特定内容
$sed‘/2004/iChina’mysed.txt
Beijing2003
China
Beijing2004
Beijing2005
Beijing2006
Beijing2007
Beijing2008
例十五交换特定字符
$catmysed.txt
Beijing2003
Beijing2004
Beijing2005
Beijing2006
Beijing2007
Beijing2008
$sed‘y/eijng/EIJNG/’mysed.txt
BEIJING2003
BEIJING2004
BEIJING2005
BEIJING2006
BEIJING2007
BEIJING2008
利用了y就暗示将第一栏的每一个字符都交换为绝对应的第二栏的字符。
例十六对婚配行的下一行举行处置
$catmysed.txt
Beijing2003
Beijing2004
Beijing2005
Beijing2006
Beijing2007
Beijing2008
$sed‘/2004/{n;y/eijng/EIJNG/;}’mysed.txt
Beijing2003
Beijing2004
BEIJING2005
Beijing2006
Beijing2007
Beijing2008
这个例子就是找含有2004的行,然后将它上面的一行中的eijng交换为年夜写的EIJNG。这内里的“n;”起到了“移至下一行”的感化。n面前的寄义实际上是将下一行放到形式空间中往。
$catmysed.txt
Beijing2003
Beijing2004
Beijing2005
Beijing2006
Beijing2007
Beijing2008
$sed‘/200/{n;y/eijng/EIJNG/;}’mysed.txt
Beijing2003
BEIJING2004
Beijing2005
BEIJING2006
Beijing2007
BEIJING2008
这个例子加倍典范,你能够发明,BEIJING是隔行呈现的。你晓得为何么?不说谜底了,信任你能本人思索出来!
ps:sed的流艺术系列到这里就停止了:)
ps:实在sed的学问还很年夜,正则表达式也有良多必要进修的中央,我也在进修中…这个小系列,就当举一反三了,但愿对你有效!
系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo、pswho 熟悉系统的基本操作,Linux的图形界面直观,操作简便,多加上机练习就可熟悉操作,在Linux下学习办公软件等常用软件。 这也正是有别的OS得以存在的原因,每个系统都有其自身的优点。? 安装一个新的软件时先看README,再看INSTALL然后看FAQ,最后才动手安装,这样遇到问题就知道为什么。如果Linux说明文档不看,结果出了问题再去论坛来找答案反而浪费时间。 熟悉系统的基本操作,Linux的图形界面直观,操作简便,多加上机练习就可熟悉操作,在Linux下学习办公软件等常用软件。 未来的学习之路将是以指数增加的方式增长的。从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的。 下面笔者在论坛看到的一个好问题: “安装红旗4.0后,系统紫光输入法自带的双拼方案和我的习惯不一样,如何自定义双拼方案解决?谢谢?”这个问题很简练。 目前全球有超过一百多个Linux发行版本,在国内也能找到十几个常见版本。如何选择请根据你的需求和能力,RedhatLinux和DebianLinux是网络管理员的理想选择。 在系统检测不到与Linux兼容的显卡,那么此次安装就可能不支持图形化界面安装,而只能用文本模式安装等等。 Linux简单,占内存少,特别是对于程序开发人员来说很方便,如果说windows的成功在于其方便用户的窗口管理界面。
页:
[1]