当前位置: 首页 > news >正文

SHELL练习题(1-11题)记录(牛客)

说明:demo是临时文件(做题专用的txt文档)

SHELL1 统计文件的行数:

cat demo| wc -l

cat demo | awk 'END{print NR}'

SHELL2 打印文件的最后5行:

cat demo | tail -5

cat demo | awk 'NR>=5{print $0}'    //NR:代表当前处理的行号

SHELL3 输出 0 到 500 中 7 的倍数:

seq 0 7 500

for i in {0..500..7};do echo $i;done

for((i=0;i<=500;i+=7));do echo $i ;done

         ((...)) 是因为在 Bash shell 中,双括号主要用于进行算术运算和算术条件判断

SHELL4 输出第5行的内容:

cat demo | awk '{if(NR==5) print $1}'

cat demo | head -5 | tail -1

cat demo | awk 'NR==5'

        同样是判断行号是否为 5,但这里没有使用 {} 块和 print 语句。在 AWK 中,如果没有 {} 块,当条件 NR==5 满足时,默认会打印出当前整行内容。

SHELL5 打印空行的行号:

cat demo | grep -n '^$'|awk -F[:] '{print $1}'            //   -n:显示行号

cat demo | awk 'length($0)==0 {print NR}'

cat demo | awk 'NF==0 {print NR}'                       //NF:表示当前行的字段数量


SHELL6 去掉空行:

cat demo |xargs |tr ' ' '\n'

cat demo | awk 'NF!=0 {print $1}'

cat demo | grep -v '^$'               //'^$':代表空行

SHELL7 打印字母数小于8的单词:

 cat demo | tr ' ' '\n'|awk '{if(length($i)<8) print $i}'

 cat demo | awk '{for(i=1;i<=NF;i++) if(length($i)<8) print $i}'


SHELL8 统计所有进程占用内存百分比的和:

 cat demo|awk '{s+=$4}END{print s}'


SHELL9 统计每个单词出现的个数:

cat demo | awk '{for(i=1;i<=NF;i++)print $i}' | sort | uniq -c | sort | awk '{print $2" "$1}'


SHELL10 第二列是否有重复:

cat demo | awk '{print $2}'|sort|uniq -c|sort |tail -2

cat demo | awk -F'[ ]+' '{print $2}' | sort | uniq -cd |sort          //uniq -d:只显示重复

SHELL11 转置文件的内容

cat demo |awk '{for(i=1;i<=NF;i++){a[NR,i]=$i}}END{for(i=1;i<=NF;i++){for(j=1;j<=NR;j++){printf a[j,i]" "}print ""}}'

相关文章:

  • Python训练营打卡——DAY30(2025.5.19)
  • python fastapi + react, 写一个图片 app
  • 英特尔硬件笔试面试题型解析
  • YOLO模型使用jupyterlab的方式进行预测/推理(示例)
  • nginx 流量控制
  • ubuntu22.04 卸载ESP-IDF
  • 20250519使用TF卡将NanoPi NEO core开发板刷机为Ubuntu core22.04.3系统完成之后执行poweroff自动关机
  • 实验-使用递归计算阶乘-RISC-V(计算机组成原理)
  • AM32电调学习解读九:ESC上电启动关闭全流程波形分析
  • linux服务器与时间服务器同步时间
  • CSS 选择器入门
  • python文件部署docker,容器路径与系统路径映射
  • DV SSL证书管理主要有哪些功能?
  • java20
  • python动漫论坛管理系统
  • JSX语法之TypeScript-02.1
  • Vue-样式绑定-style
  • Codeforces Round 1025 (Div. 2)(A-D)
  • C++:与7无关的数
  • 绿幕抠图与虚拟背景:直播美颜SDK开发前沿技术探索
  • 中信银行资产管理业务中心原副总裁罗金辉一审被控受贿超4437万
  • “高原笑匠”、西藏著名表演艺术家扎西顿珠去世
  • 济南一医院救护车未执行紧急任务时违规鸣笛
  • 钟南山谈新冠阳性率升高:可防可治不用慌,高危人群应重点关注
  • 新疆巴音郭楞州和硕县发生4.6级地震,震源深度10千米
  • 招商基金总经理徐勇因任期届满离任,“老将”钟文岳回归接棒