Data wrangling¶
约 911 个字 2 行代码 预计阅读时间 3 分钟
本节列举一些命令行常用的数据处理工具
Sed¶
Sed 是 Stream editor 流编辑器,可以接受管道输入,对每一行进行处理,然后输出到标准输出。
选项是一些用于控制 sed 命令行为的参数,常见的有:
-n不输出到标准输出-e以后的参数作为脚本-f以后的参数作为脚本文件-i直接修改文件-r使用扩展正则表达式-E同上-r使用基础正则表达式-h不打印文件名
sed的编辑命令可以使用正则表达式来指定匹配模式,并通过替换、删除、插入等命令来修改文本.一些常见的 sed 编辑命令包括:
- s/pattern/replacement/:替换指定模式的文本。
- d:删除匹配到的行。
- p:打印(输出)匹配到的行。
- i:在指定行前插入文本。
- a:在指定行后追加文本。
正则表达式
- 正则表达式可以实现字符串匹配,大部分字符都保持愿意除了一些特殊的
.代表除了换行任何的单字符*前一个重复 0-无限次+前一个重复 1-无限次[abc]abc 任意一个(RX1|RX2)表达式一或者二^行首$行尾()捕获,位于补货内的字符串可在被替代部分用、1 \2 \3 引用
Awk¶
awk 是一种强大的文本处理工具,用于从结构化文本数据中提取和操作信息.它可以逐行读取输入文件或标准输入的文本,根据指定的模式和动作进行匹配、处理和输出。
awk 的基本语法如下:
其中,pattern 是用于匹配文本的模式,action 是在匹配到的文本上执行的操作,file 是待处理的输入文件。
awk 的工作原理是逐行读取输入文本,并根据指定的模式进行匹配.当某行匹配到指定模式时,执行相应的动作.动作可以是打印行、计算、赋值变量、进行条件判断等。
awk 提供了丰富的内置功能和变量,使其能够对文本进行灵活处理.一些常用的 awk 功能包括:
- 字段分割:
awk默认将每一行以空格或制表符为分隔符划分为多个字段,可以通过$n的形式引用字段(例如$1、$2). - 模式匹配:可以使用正则表达式进行模式匹配,指定匹配的文本模式。
- 内置变量:
awk提供了许多内置变量,如NR(当前行数)、NF(当前行的字段数)和$0(整行文本)等。 - 内置函数:
awk提供了丰富的内置函数,如字符串处理函数、数学函数、日期函数等。
以下是一个简单的示例,展示了如何使用 awk 提取文件中以冒号分隔的第一列和第二列,并输出它们:
awk 是一种非常实用的文本处理工具,适用于处理结构化的文本数据,如日志文件、CSV 文件、报告等.它具有强大的功能和灵活性,可以大大简化文本处理任务,提高数据分析和转换的效率。
Aided Command line Tools¶
辅助使用的命令行工具
- grep: 筛选出含有制定内容的行
- sort: 排序
- uniq: 去重
- tail: 截图头部几条
- head: 截取尾部几条
- paste: 通过指定的间隔字符链连接两行
- bc: 计算器
- xargs: 把 stdin 转换为参数调用后续程序