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

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 ""}}'

http://www.xdnf.cn/news/7400.html

相关文章:

  • 力扣HOT100之二叉树:199. 二叉树的右视图
  • LintCode第42题-最大子数组 II-使用前缀和优化 + 动态规划法
  • 【深度学习新浪潮】如何入门人工智能?
  • Python 与 面向对象编程(OOP)
  • CVE-2022-22963源码分析与漏洞复现
  • Java EE初阶——单列模式和阻塞队列
  • 深入解析RAG技术:提升题目解答准确率的利器
  • turf的pointsWithinPolygon排查
  • window xampp apache使用腾讯云ssl证书配置https
  • 算法(最小基因变化+迷宫中离入口最近的出口)
  • C# 枚举 详解
  • linux kernel 编译
  • java的arraylist集合
  • TransactionSynchronizationManager事务同步器的使用
  • 统计客户端使用情况,使用es存储数据,实现去重以及计数
  • 【全解析】EN18031标准下的SCM安全通信机制全解析
  • 质检LIMS系统检测数据可视化大屏 全流程提效 + 合规安全双保障方案
  • 视频监控中的存储方式有哪些?EasyCVR视频监控汇聚平台如何打造高效监控存储
  • 高速系统设计实例设计分析之三
  • 蓝桥杯2300 质数拆分
  • 码蹄集——N是什么、棋盘
  • JVM(Java 虚拟机)深度解析
  • web基础常用标签
  • More Effective C++:改善编程与设计(下)
  • Seata源码—6.Seata AT模式的数据源代理三
  • 洛谷U536262 井底之“鸡” 附视频讲解
  • 提示词专家的修炼秘籍
  • harris角点检测
  • VisionPro:轴承错位标识
  • QT之绘图模块和双缓冲技术