美文网首页
shell编程要点总结

shell编程要点总结

作者: 裁尘的人儿 | 来源:发表于2020-03-25 00:13 被阅读0次

统计文件列数:
awk -F '列分隔符' '{print NF}' file | head -n1

查看文件最后一行:
tail -n 1
tail -n1

查看文件夹里所有文件的总行数:
法一:
wc -l *.txt
法二:

COUNT=`find ./ -name "*.txt" | xargs wc -l | tail -n 1 | awk -F " " '{print $1}'`
echo $COUNT

有一个文本count.txt:
16440
5123
635
19693
1
2046
1715
对文本里的多行数字求和:
cat count.txt |awk '{sum+=$1} END {print sum}'

表示$1逐行开始扫描每一行的第一列
cat count.txt | awk '{print $1}'

BEGIN和END的作用是给程序赋予初始状态和程序结束之后执行一些扫尾工作。
任何在BEGIN之后列出的操作(在{}内)将在Unix awk开始扫描输入之前执行,而END之后列出的操作将在扫描完全部的输入之后执行。因此,通常使用BEGIN来显示变量和预置(初始化)变量,使用END来输出最终结果。
例:累计销售文件xs中的销售金额(假设销售金额在记录的第三字段):

$awk
'BEGIN { FS=":";print "统计销售金额";total=0}
{print $3;total=total+$3;}
END {printf "销售金额总计:%.2f",total}' sx

(注:>是shell提供的第二提示符,如要在shell程序Unix awk语句和Unix awk语言中换行,则需在行尾加反斜杠)
在这里,BEGIN预置了内部变量FS(字段分隔符)和自定义变量total,同时在扫描之前显示出输出行头。而END则在扫描完成后打印出总合计。

求目录下所有文件的列数和:

for k in $(ls $dir);do awk -F ' ' '{print NF}' $k|head -n1>>count.txt;done
cat t.txt |awk '{sum+=$1} END {print sum}'

cut取出文件某几列:
cut -d ',' -f 2 file.text

相关文章

  • shell编程要点总结

    统计文件列数:awk -F '列分隔符' '{print NF}' file | head -n1 查看文件最后一...

  • Linux Shell:Shell条件测试,if和case条件语

    摘要:Linux,Shell Shell条件测试要点总结 Shell中条件测试能测试文件属性,字符串,整数大小等 ...

  • shell 案例

    Shell编程一 Shell防范ARP攻击 Shell编程二 Shell防范DDos攻击 Shell编程三 ...

  • shell 第一天

    shell编程初识 1.1 shell编程初识 shell的定义 Shell 是命令解释器 Shell 也是...

  • 78.shell编程

    shell编程 Shell脚本,是一种为shell编写的脚本程序。 Shell编程跟JavaScript、Pyth...

  • 2019-01-25

    Linux系统Shell编程指南 前言 适合人群:有类似C编程基础的人 一、Shell编程介绍 Shell解释型语...

  • Linux Shell:基础知识和Shell变量

    摘要:Linux,Shell 整理Shell内容要点: Shell基础知识 Shell变量的类型 Shell变量赋...

  • day 28

    shell编程基础 shell编程一小时光速入门web集群架构会用到shell编程基础 1、为什么要学shell编...

  • Shell 编程的 Hello World

    什么是 Shell?简单来说,Shell 编程是对 Linux 命令的逻辑化处理。 来看看 Shell 编程是如何...

  • Shell 编程的 Hello World

    什么是 Shell?简单来说,Shell 编程是对 Linux 命令的逻辑化处理。 来看看 Shell 编程是如何...

网友评论

      本文标题:shell编程要点总结

      本文链接:https://www.haomeiwen.com/subject/onuzyhtx.html