力扣shell题
目录
192. 统计词频
写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率。
cat words.txt | xargs -n 1 | sort | uniq -c | sort -nr | awk '{print $2, $1}'xargs 分割字符串 -n 1表示每行输出一个 可以加-d指定分割符
要使用uniq统计词频需要被统计文本相同字符前后在一起,所以先排序 uniq -c 表示同时输出出现次数
sort -nr 其中-n表示把数字当做真正的数字处理(当数字被当做字符串处理,会出现11比2小的情况)
words.txt:
the day is sunny the the
the sunny is is
a a a a a a a a a a a a a a
b b b b结果:
a 14
the 4
b 4
is 3
sunny 2
day 1193. 有效电话号码
给定一个包含电话号码列表(一行一个电话号码)的文本文件 file.txt,写一个 bash 脚本输出所有有效的电话号码。
你可以假设一个有效的电话号码必须满足以下两种格式: (xxx) xxx-xxxx 或 xxx-xxx-xxxx。(x 表示一个数字)
你也可以假设每行前后没有多余的空格字符。
awk '/^([0-9]{3}-|\([0-9]{3}\) )[0-9]{3}-[0-9]{4}$/' file.txt