[TOC]
# 1 对文件中数据的计算
awk可以对文件就有强的列处理能力,awk是一个强大的文本分析工具,简单来说awk就是把文件逐行读入,(空格,制表符)为默认分隔符将每行切片,切开的部分再进行各种分析处理。
现有数据文件**testfile/d3.dat**,其内容如下:
```
1 2
2 3
3 2
4 1
```
## 1.2 计算第一列数据的和
```shell
cat testfile/d3.dat | awk 'BEGIN{sum=0} {sum=sum+$1} END{print "sum=" sum}'
```
## 1.3 找出第一列中数据最大值和最小值
```shell
echo"------ 找出第一列中数据最大值 -----------"
cat testfile/d3.dat | awk 'NR==1{max=$1;next} {max=max>$1?max:$1}END{print "max=" max}'
echo"------ 找出第一列中数据最小值 -----------"
cat testfile/d3.dat | awk 'NR==1{min=$1;next} {min=min<$1?min:$1}END{print "min=" min} '
```
## 1.4 计算第一列数据的平均值
```shell
echo"------ 求第一列中数据平均值 -----------"
cat testfile/d3.dat | awk 'BEGIN{sum=0} {sum+=$1} END{print "ave=" sum/NR}'
```
# 2 获取文件第二列并排序和去重
```shell
echo "------ 求第二列中数据升序排序 -----------"
cat testfile/d3.dat | awk '{print $2}' | sort
echo "------ 求第二列中数据升序排序并去重 -----------"
cat testfile/d3.dat | awk '{print $2}' | sort -u
echo "------ 求第二列中数据升序排序并去重 -----------"
cat testfile/d3.dat | awk '{print $2}' | sort | uniq
echo "------ 求第二列中数据降序排序 -----------"
cat testfile/d3.dat | awk '{print $2}' | sort -r
```
# 3 指定行的操作
## 3.1 获取文件的行数
```shell
cat testfile/d3.dat | awk 'END{print NR}'
```
## 3.2 获取文件第2行数据
```shell
cat testfile/d3.dat | awk 'NR==2{print $0}'
```
## 3.3 获取文件第2行第2列的数据
```shell
cat testfile/d3.dat | awk 'NR==2{print $2}'
```
# 4 常用行数
~~~
函数名 作用
toupper(s)返回s的大写
tolower(s) 返回s的小写
length(s) 返回s长度
substr(s,p) 返回字符串s中从p开始的后缀部分
~~~
- 图片处理
- 调整图片像素大小
- Python控制摄像头拍照
- 文件操作
- 提取文件名,扩展名
- 查找文件
- ls列出目录,文件
- shell解析json串
- 读取文件第n行内容
- 将变量写入文件和从文件读取变量的一中方法
- shell操作二进制文件
- 命令行将ppt转换为pdf
- python读取串口数据
- 查最近修改的文件
- awk的一些操作
- 输入输出
- 判断输入是否为数字
- 获取脚本输入的第 i 个参数
- column实现输出列表对齐
- 串口调试脚本
- 按键实时检测
- 网络脚本
- 基于Python的TCP客户端
- bash将字符转换为urlencode
- 挂载远程文件夹到本地
- 其他功能
- shell随机产生某一个范围内的整数
- 删除、替换字符串中指定的字符
- 获取时间日期并打印
- 字符串反转
- 实用功能
- 自定义函数模板
- shell中包含另一个脚本文件实现include的方法
- Bash下实现自定义指令的几种方法
- 根据文件类型自动执行脚本
- 命令行运行matlab
- 项目引导main.sh脚本
- 新建文件模板脚本
- bash实现读取和改写ini文件
- 添加当前路径到fish shell环境变量
- 查询进程并杀死进程
- 带界面的身份验证
- 常用软件
- 基本软件
- 我喜欢的软件
- 自用带有界面的系统修复工具-repair
- 解析xml文件