1. 总体介绍 Linux常用的文本处理命令
-
more
/less
: 逐屏显示文件 -
cat
与od
: 一次性列出文件内容 -
head
与tail
: 显示文件的头部或者尾部 -
tee
: 三通 -
wc
: 字数统计 -
sort
: 对文件内容进行排序 -
tr
: 翻译字符 -
uniq
: 筛选文件中的重复行
2. more
/less
: 逐屏显示文件
more
/less
常用快捷键,推荐使用less
代替more
命令。
-
<space>
: 空格键,翻页 -
<Enter>
: 回车键,向下翻一行 -
q
: 退出 -
j
与k
: 向上或者向下翻一行 -
/
: 查询关键字
3. cat
与od
: 一次性列出文件内容
cat
: 命令来源: concatenate:串接,文本格式打印。
常用参数:
-n
: 打印文件的时候,带上行号。
od
: 命令来源: octal dump:逐字节打印,可以用八进制/十六进制打印。
常用参数:
-c
: 按照字符打印,遇到不可打印字符,打印编码
-t c
: 按照字符打印,如果字符不可打印,则打印一个八进制的ASCII码。
-t x1
: 以一个字节为单位,每个字节都按照十六进制打印
-t o1
: 以一个字节为单位,每个字节都按照八进制打印
-t d1
: 以一个字节为单位,每个字节都按照十进制打印(但是超过127以后,会显示负数)
-t u1
: 以一个字节为单位,每个字节都按照u(无符号整数)打印
下列方式可以以16进制显示一个字符串的编码。
echo abcdABCD | od -t x1
4. head
与tail
: 显示文件的头部或者尾部
head
与tail
: 不带参数,默认显示文件的头10行或者尾10行。
常用参数:
-n
: 指定显示的行数。
tail -f
: 可以持续监视一个文件,只要文件有变化,立马更新。(-f
:是forever的意思。)
5. tee
: 三通
tee
:将标准输入stdin得到的数据,抄送到标准输出stdout显示,同时存入磁盘文件中。
举例:
# 将./myap的输出打印终端中,同时将输出保存到【myap.log】文件中。
./myap | tee myap.log
6. wc
: 字数统计
wc
:列出文件一共有多少行,有多少个单词,多少字符。
常用参数:
-l
: 只列出行数。
# 显示系统有多少个进程
ps -ef | wc -l
# 显示当前有多少个用户登陆
who | wc -l
7. sort
: 对文件内容进行排序
常用参数:
-n
: [number]对于数字按照算数值大小排序,而不是按照字符串比较规则。
比如:123与67:
- 如果按照字符串排序的话,67比123大;
- 如果按照数字值排序的话,123比67大
8. tr
: 翻译字符
tr string1 string2
: 将标准输入拷贝到标准输出;如果标准输入中出现string1中包含的字符,那么替换为string2中对应的字符,然后再拷贝到标准输出。
echo abcdABCD | tr aBc AbC
# 输出结果如下:
AbCdAbCD
用 [ ]
指定一个集合
# 将小写字母转换为大写字母
echo abcdABCD | tr '[a-z]' '[A-Z]'
# 输出结果如下:
ABCDABCD
用 \
加上三个八进制数字(类似C语言)表示一个字符
# 将%改为换行符,注意不要漏掉必须的单引号
cat file1 | tr % '\012'
8. uniq
: 筛选文件中的重复行
uniq
: 这个命令后面只允许出现一个文件。
常用参数:
-u
: [uniq]只保留没有重复的行
-d
: [duplicated]只保留有重复的行(但是只打印一次)
<space>
: 如果没有选项,打印没有重复的行和有重复的行(但是只打印一次)
-c
: [count]计数同样的行出现的次数
注意:重复的行
:指的是紧邻的两行内容相同,所以uniq
命令一般都会放在sort
命令的后面。
网友评论