开发者学堂课程【Linux 文本处理、正则表达式与 Vim:文本处理命令】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/592/detail/8350
文本处理命令
内容介绍
一、文本处理工具
一、文本处理工具
1、文件查看
u 文件查看命令:
cat,tac,rev
u cat[OPTION]...[FILE]...
-E:显示行结束符$
-n:对显示出的每一行进行编号
-A:显示所有控制符
-b:非空行编号
-s:压缩连续的空行成一行
u tac
u Rev
2、分页查看文件内容
u more: 分页查看文件
more [OPTIONS...] FILE...
-d: 显示翻页及退出提示
u less: 一页一页地查看文件或 STDIN 输出
查看时有用的命令包括:
/文本 搜索 文本
n/N 跳到下一个或上一个匹配
less 命令是 man 命令使用的分页器
3、显示文本前或后行内容
u head [OPTION]... [FILE]...
-C#:指定获取前#字节
-n#:指定获取前#行
-#:指定行数
u tail [OPTION]... [FILE]...
-c#:指定获取后#字节
-n#:指定获取后#行
-#:同上
-f:跟踪显示文件 fd 新追加的内容,常用日志监控相当于--follow=descriptor
-F:跟踪文件名,相当于--follow=name--retry
u Tailf 类似 tail-f,当文件不增长时并不访问文件
4、按列抽取文本 cut 和合并文件 paste
u cut [OPTION]... [FILE]...
-d DELIMITER:指明分隔符,默认 tab
-f FILEDS:
#:第#个字段
#,#[,#]:离散的多个字段,例如1,3,6
#-#:连续的多个字段,例如1-6
混合使用:1-3,7
-C 按字符切割
--output-delimiter=STRING 指定输出分隔符
5、Cut 和 paste
u 显示文件或 STDIN 数据的指定列
cut -d:-f1/etc/passwd
cat /etc/passwd | cut-d:-f7
cut-c2-5/usr/share/dict/words
u Paste 合并两个文件同行号的列到一行
paste [OPTION]... [FILE]...
-d分隔符:指定分隔符,默认用 TAB
-S:所有行合成一行显示
示例:
paste f1 f2
paste -s f1 f2
6、收集文本统计数据 wc
u 计数单词总数、行总数、字节总数和字符总数
u 可以对文件或 STDIN 中的数据运行
wc story.txt
39 237 1901 story.txt
行数 字数 字节数
u 常用选项
-I 只计数行数
-W 只计数单词总数
-C 只计数字节总数
-m 只计数字符总数
-L 显示文件中最长行的长度