当前位置:主页 > 查看内容

LeetCode shell 题解(全)

发布时间:2021-08-21 00:00| 位朋友查看

简介:LeetCode上shell一共就四题但涉及的知识点可不少有tr、grep、awk、sed等等非常值得练练手希望LeetCode官方能多提供一些shell练习毕竟shell是一名C程序员的童子功呀 目录 LeetCode.192.统计词频 LeetCode 193.有效的电话号码 LeetCode 194.转置文件 LeetCode……

LeetCode上shell一共就四题,但涉及的知识点可不少,有tr、grep、awk、sed等等,非常值得练练手,希望LeetCode官方能多提供一些shell练习,毕竟shell是一名C++程序员的童子功呀!

目录

LeetCode.192.统计词频

LeetCode 193.有效的电话号码

LeetCode 194.转置文件

LeetCode 195.第十行


LeetCode.192.统计词频

cat words.txt | tr -s ' ' '\n'|sort|uniq -c |sort -r|awk '{print $2" "$1}'

cat ——浏览文件
tr -s ——替换字符串(空格换为换行)保证了一行一个单词
sort ——默认ASCII值排序,排序号后还会有重复
uniq —— 去重,-c再输出重复次数。结果就是 ”4 abc“ abc出现了4次
sort -r —— 反向排序,也就是从大到小。得到按频率高低的结果
awk ——格式化输出,规定输出是先字符串再重复次数,所以先$2再$1,中间空格分隔

LeetCode 193.有效的电话号码

# Read from the file file.txt and output all valid phone numbers to stdout.
cat file.txt | grep -P '^(\d{3}-\d{3}-\d{4})$|^(\(\d{3}\) \d{3}-\d{4})$'

LeetCode 194.转置文件

cat file.txt | awk '{for(i=1;i<=NF;i++){if(NR==1){res[i]=$i;}else{res[i]=res[i]" "$i}}}END{for(i=1;i<=NF;i++)print res[i]}'

LeetCode 195.第十行

# Read from the file file.txt and output the tenth line to stdout.
awk 'NR == 10' file.txt

?

?

?

;原文链接:https://blog.csdn.net/qq_41895747/article/details/113108423
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐