每日一道shell练习(09)——sed处理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日一道shell练习(09)——sed处理相关的知识,希望对你有一定的参考价值。
1. 习题对一个文件,1至5行删除带有英文的行,6至10行删除里面的英文字符;
2. 分析
这种要求,用sed命令就可以解决了,主要用到匹配替换的知识。
3. 脚本
#!/bin/bash
sed -n ‘1,5p‘ a.txt | sed ‘/[a-zA-Z]/d‘
sed -n ‘6,10p‘ a.txt | sed ‘s/[a-zA-Z]//g‘
sed -n ‘11,$p‘ a.txt
前两个要求,必须使用行号匹配。主要sed是一个流编辑处理器,它是一行一行地接收输入数据,然后再处理。
-n 和 -p 选项配合使用,就是只输出匹配的内容。所以,在前两行命令的意思就相当于,匹配到对应的行后,只处理这些行,然后通过管道,把它们传给后边的sed命令处理。
第三行的sed命令,就是把不用处理的文本都直接输出屏幕。这样,在屏幕上看来,就相当于完整地处理了整个文本的内容了。
以上是关于每日一道shell练习(09)——sed处理的主要内容,如果未能解决你的问题,请参考以下文章