Linux进行文本处理的命令主要有cat tac tail head less more sort uniq cut tr grep sed awk
1.cat 用来查看某个文件的内容
格式
cat file_name #查看一个文件的内容
cat file1 file2.....#同时连接查看多个文件的内容
常用的选项
-n 显示行号
-E 显示行结束符 #Linux下面为$
2.tac 与cat类似,不过是倒序显示文件的内容
3.head -n file_name 用来查看前n行
4.tail -n file_name 用来查看后n行
tail命令的一个技巧 tail -f file_name
查看文件尾部,不退出,等待显示后续追加至此文件的内容(用于监控某个文件的变化,比如日志文 件)
5.more(只支持向前翻屏)跟less(既可以向前翻,也可以向后翻)支持分屏显示文件的内容
6.sort命令用于文本的排序 sort [options] filename
-n 数值排序
-r 降序
-t 字段分隔符(区别于cut)
-k 以那个字段为关键字进行排序
-u 排序后相同的行只显示一次
-f 排序时忽略大小写
7.uniq 用来去除重复的行 uniq [options] filename
-c 显示文本行重复的次数 (这里指的是相邻重复的两行,不相邻的相同的两行不能算作相同的两 行)
-d 只显示重复的行
8.cut用作文本切割,用来显示某行在某种分隔符切割下的指定字段
-d:指定字段分隔符 默认是空格
-f:指定要显示的字段
-f 1,3
-f 1-3
例如:cut -d : -f 1 /etc/passwd #显示所有的用户名
9.wc 用做文本统计
-l 统计行数 #常用
-w 统计单词数
-c 统计字节数
-L 统计最长一行的长度
-m 统计字符数
例如:统计当前系统有多少用户(一般用户+系统用户)
wc -l /etc/passwd | cut -d ‘‘ -f 1
10.tr 字符转换命令 用于内容将字符集1转换为字符集2
注意:tr只支持从标准输入中读取输入,经修改后的内容输出到标准输出(屏幕)
tr set1 set2 #将字符集1中的字符转换成字符集2中得字符
tr -d set1
例子1:cat 1.txt | tr [a-z] [A-Z]
例子2:cat temp.txt | tr -d [a-zA-Z]
grep sed awk的命令稍微有点复杂,后面再说。