sed 和grep 统计/etc/init.d/functions文件中每个单词的出现次数,结果不同
来源:互联网 发布:现在还能做淘宝吗 编辑:程序博客网 时间:2024/05/16 00:27
题目:统计/etc/init.d/functions文件中每个单词的出现次数, 并排序(用grep和sed两种方法分别实现)
一、grep
1.有一个 -o 选项,可以把一行中的所有单词的都过滤出来
egrep -o "\<[[:alpha:]]+\>" /etc/init.d/functions |sort |uniq -c |sort -n
结果太多,只截后面一部分的
二、sed
sed -r 's@[^[:alpha:]]+@\n@g' /etc/init.d/functions |sort |uniq -c |sort -n
结果太多,只截后面一部分的
显示结果差了好多
分析
1.sed如果要对一行中的多个单词进行正向截取很难
因为,截取时使用
's@.*[^[:alpha:]](\<[[:alpha:]]+\>).*@\1@p'
一行只能替换出一个单词
2.所以只能进行反向替换,把不是单词的替换为换行符/n。
a.单词是有**分隔符隔开**的多个英文字母例如( 空格 - 引号 )等4.把**不是单词**的字符替换为空即 **不是单词**----> **不是**\<[[:alpha:]]+\> ;
5.可是使用sed正则只能表示
不是多个字母 —-> [^[:alpha:]]+
6.所以使用sed后果就是把不是多个字母替换为换行了,
剩下的是 单词 和 非单词的多个字母
会出现类似以下的情况
echo "w(or4d)hi hello"| sed -r 's@[^[:alpha:]]+@\n@g'
只有 hello是 单词,可是把不是单词的英文字母也截取出来了
三、如果哪位道友知道如何用sed过滤非单词,希望评论区留个言或者私信下,谢谢
阅读全文
0 0
- sed 和grep 统计/etc/init.d/functions文件中每个单词的出现次数,结果不同
- 统计输出某个文件中每个单词出现的次数
- 统计文件中每个单词的出现次数
- 统计文本中每个单词的序列 和 出现次数
- 通过MapReduce统计每个单子在每个文件中出现的次数(FileSplit的使用),单词作为key,所在文本和次数作为value进行统计
- 统计一篇英文中每个单词出现的次数
- 统计字符串中每个单词出现的次数 for C++
- 统计一篇文章中每个单词出现的次数
- 统计每个单词在输入中出现的次数
- java 统计文章中每个单词出现的次数
- 用array_count_values统计一篇英文文档中每个单词的出现次数,结果用表格展示出来
- 对文本中不同单词出现的次数统计
- c++统计输入中不同单词所出现的次数
- c++统计输入中不同单词所出现的次数
- 统计英文文件中单词数和各单词出现的频率(次数)
- 统计该短文中不同单词和它的出现次数
- Java 读取一段英文文档统计每个单词出现的次数和单词的总数
- linux 统计文件中单词出现次数
- php设计模式--单例模式
- docker初识:运行mysql实例
- NYOJ【113】字符串替换【字符串】
- python 获取股票数据
- 排序算法总结
- sed 和grep 统计/etc/init.d/functions文件中每个单词的出现次数,结果不同
- 帧同步的初步探究
- 浅谈在XXX公司的职业经历
- xampp上mysql无法启动的问题
- java 8 接口默认方法
- ArcGIS地形分析--TIN及DEM的生成,TIN的显示
- 架构师的成长之路——知识储备
- ios XCODE url 拼接返回为空
- hadoop之旅(六)