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 转换为参数调用后续程序