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