Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐: 强烈推荐:Ylmf OS 3.0 正式版发布附迅雷高 XP系统下硬盘安装Fedora 14图文教程
搜索:
您的位置: Linux安全网 > Linux入门 > » 正文

推荐:最实用也最常用的文本处理命令收藏

来源: 网络 分享至:

cat -A filename | tr '$' '\r' > file_new.test
把linux下回车符换成windows下回车符
unix2dos filename 把linux文件格式转成windows文件格式
expand 把tab换成空格????
fmt格式化输出
fmp -u -w50 filename 把文件里的回车符换成1个空格
pr 格式化打印输出
pr -5 path/filename |more
pr -h "this is header" -l50 -5 path/filename |more
显示标题-h  显示行数-l  显示列数-n


delete_file.txt里包含f1.txt  f2.txt f3.txt
cat delete_file.txt |xargs  rm -rf
xargs功能:把来自于其他的输出结果转给另外一个命令作为
改命令的一个参数

例一:将 /etc/passwd 的内容列出并且打印行号,同时,请将第 2~5 行删除
# nl /etc/passwd | sed '2,5d'
sed 的动作为 '2,5d' ,那个 d 就是删除,sed 后面接的动作,请务必以 '' 两个单引号括住
如果只要删除第 2 行,可以使用『 nl /etc/passwd | sed '2d' 』来达成,
至于若是要删除第 3 到最后一行,则是『 nl /etc/passwd | sed '3,$d' 』的,
那个钱字号『 $ 』代表最后一行


例二:承上题,在第二行后(亦即是加在第三行)加上『drink tea?』
nl /etc/passwd | sed '2a drink tea'
在 a 后面加上的字符串就已将出现在第二行后面啰!那如果是要在第二行前呢?
『 nl /etc/passwd | sed '2i drink tea' 』
就是将『 a 』变成『 i 』即可。 增加一行很简单,那如果是要增将两行以上呢?


例三:在第二行后面加入两行字,例如『Drink tea or .....』与『drink beer?』
# nl /etc/passwd | sed '2a Drink tea or ......\
> drink beer ?'
重点是『我们可以新增不只一行喔!可以新增好几行』但是每一行之间都必须要以反斜线『 \ 』来进行新行的增加


例四:我想将第2-5行的内容取代成为『No 2-5 number』
# nl /etc/passwd | sed '2,5c No 2-5 number'


例五:仅列出 /etc/passwd 档案内的第 5-7 行
# nl /etc/passwd | sed -n '5,7p'
上述的指令中有个重要的选项『 -n 』,按照说明文件,这个 -n 代表的是『安静模式』! 那么为什么要使用安静模式呢?
你可以自行下达 sed '5,7p' 就知道了 (5-7 行会重复输出)! 有没有加上 -n 的参数时,输出的数据可是差很多


部分数据的搜寻并取代的功能
除了整行的处理模式之外, sed 还可以用行为单位进行部分数据的搜寻并取代的功能
基本上 sed 的搜寻与取代的与 vi 相当的类似!他有点像这样:

sed 's/要被取代的字符串/新的字符串/g'


例六:利用 sed 将 regular_express.txt 内每一行结尾若为 . 则换成 !
sed -i 's/\.$/\!/g' regular_express.txt


Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史