常见文本处理工具
1. cat
★ 查看文本文件内容
cat [OPTION]... [FILE]...
-E|--show-ends
-A|--show-all
-n|--number
-b|--number-nonblank
-s|--squeeze-blank
[root@rocky8 day5]
wwwwwww
[root@rocky8 day5]
wwwwwww$
$
[root@rocky8 day5]
1 wwwwwww
2
3
[root@rocky8 day5]
1 wwwwwww
2
[root@rocky8 day5]
1 wwwwwww
2
2. tac
★ 逆向显示文本内容
[root@rocky8 day5]
1
2
3
[root@rocky8 day5]
3
2
1
3. rev
★ 同一行的内容逆向显示
[root@rocky8 day5]
1 2 3
a b c
[root@rocky8 day5]
3 2 1
c b a
4. hexdump
★ hexdump 命令用于以十六进制、十进制、八进制或ASCII格式显示文件内容。
用法:
hexdump [选项] <文件>...
选项:
-b, --one-byte-octal:
-c, --one-byte-char:
-C, --canonical:
-d, --two-bytes-decimal:
-o, --two-bytes-octal:
-x, --two-bytes-hex:
-L, --color[=<mode>]:
-e, --format <format>:
-f, --format-file <file>:
-n, --length <length>:
-s, --skip <offset>:
-v, --no-squeezing:
-h, --help:
-V, --version:
[root@rocky8 day5]
00000000 eb 63 90 10 8e d0 bc 00 b0 b8 00 00 8e d8 8e c0 |.c..............|
00000010 fb be 00 7c bf 00 06 b9 00 02 f3 a4 ea 21 06 00 |...|.........!..|
00000020 00 be be 07 38 04 75 0b 83 c6 10 81 fe fe 07 75 |....8.u........u|
00000030 f3 eb 16 b4 02 b0 01 bb 00 7c b2 80 8a 74 01 8b |.........|...t..|
00000040 4c 02 cd 13 ea 00 7c 00 00 eb fe 00 00 00 00 00 |L.....|.........|
00000050 00 00 00 00 00 00 00 00 00 00 00 80 01 00 00 00 |................|
00000060 00 00 00 00 ff fa 90 90 f6 c2 80 74 05 f6 c2 70 |...........t...p|
00000070 74 02 b2 80 ea 79 7c 00 00 31 c0 8e d8 8e d0 bc |t....y|..1......|
00000080 00 20 fb a0 64 7c 3c ff 74 02 88 c2 52 be 05 7c |. ..d|<.t...R..||
00000090 b4 41 bb aa 55 cd 13 5a 52 72 3d 81 fb 55 aa 75 |.A..U..ZRr=..U.u|
000000a0 37 83 e1 01 74 32 31 c0 89 44 04 40 88 44 ff 89 |7...t21..D.@.D..|
000000b0 44 02 c7 04 10 00 66 8b 1e 5c 7c 66 89 5c 08 66 |D.....f..\|f.\.f|
000000c0 8b 1e 60 7c 66 89 5c 0c c7 44 06 00 70 b4 42 cd |..`|f.\..D..p.B.|
000000d0 13 72 05 bb 00 70 eb 76 b4 08 cd 13 73 0d 5a 84 |.r...p.v....s.Z.|
000000e0 d2 0f 83 de 00 be 85 7d e9 82 00 66 0f b6 c6 88 |.......}...f....|
000000f0 64 ff 40 66 89 44 04 0f b6 d1 c1 e2 02 88 e8 88 |d.@f.D..........|
00000100 f4 40 89 44 08 0f b6 c2 c0 e8 02 66 89 04 66 a1 |.@.D.......f..f.|
00000110 60 7c 66 09 c0 75 4e 66 a1 5c 7c 66 31 d2 66 f7 |`|f..uNf.\|f1.f.|
00000120 34 88 d1 31 d2 66 f7 74 04 3b 44 08 7d 37 fe c1 |4..1.f.t.;D.}7..|
00000130 88 c5 30 c0 c1 e8 02 08 c1 88 d0 5a 88 c6 bb 00 |..0........Z....|
00000140 70 8e c3 31 db b8 01 02 cd 13 72 1e 8c c3 60 1e |p..1......r...`.|
00000150 b9 00 01 8e db 31 f6 bf 00 80 8e c6 fc f3 a5 1f |.....1..........|
00000160 61 ff 26 5a 7c be 80 7d eb 03 be 8f 7d e8 34 00 |a.&Z|..}....}.4.|
00000170 be 94 7d e8 2e 00 cd 18 eb fe 47 52 55 42 20 00 |..}.......GRUB .|
00000180 47 65 6f 6d 00 48 61 72 64 20 44 69 73 6b 00 52 |Geom.Hard Disk.R|
00000190 65 61 64 00 20 45 72 72 6f 72 0d 0a 00 bb 01 00 |ead. Error......|
000001a0 b4 0e cd 10 ac 3c 00 75 f4 c3 00 00 00 00 00 00 |.....<.u........|
000001b0 00 00 00 00 00 00 00 00 73 3d 45 24 00 00 80 04 |........s=E$....|
000001c0 01 04 83 fe c2 ff 00 08 00 00 00 00 20 00 00 fe |............ ...|
000001d0 c2 ff 8e fe c2 ff 00 08 20 00 00 f8 df 18 00 00 |........ .......|
000001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |..............U.|
00000200
5. more
★ 可以实现分页查看文件,可以配合管道实现输出信息的分页
more [OPTIONS...] FILE...
-d
-s
命令选项
空格键
回车键
!cmd
h
:f
=
[root@ubuntu2204 ~]
6. less
★ 实现分页查看文件或STDIN输出
less [OPTIONS...] FILE...
-e
-N
-s
-S
命令选项
:h
/string
:!cmd
b
7. head
★ 显示文件或标准输入的前面行(显示文本前面或后面的行内容)
head [OPTION]... [FILE]...
-c|--bytes=N
-n|--lines=N
-N
-q|--quiet|--silent
-v|--verbose
-z|--zero-terminated
[root@rocky8 ~]
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@rocky8 ~]
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
8. tail
★ tail 和head 相反,查看文件或标准输入的倒数行
tail [OPTION]... [FILE]...
-c|--bytes=N
-n|--lines=N
-N
-f|--follow=descriptor
-F|--follow=name --retry
-q|--quiet|--silent
-z|--zero-terminated
tailf
[root@rocky8 day5]
1
2
3
4
5
6
7
8
9
10
[root@rocky8 day5]
8
9
10
[root@rocky8 day5]
3
4
5
6
7
8
9
10
9. cut
★ 提取文本文件或STDIN数据的指定列(按列抽取文本)
cut OPTION... [FILE]...
-b|--bytes=LIST
-c|--characters=LIST
-d|--delimiter=DELIM
-f|--fields=LIST
-s|--only-delimited
--output-delimiter=STRING
-z|--zero-terminated
[root@rocky8 ~]
root:0:0:/bin/bash
bin:1:1:/sbin/nologin
daemon:2:2:/sbin/nologin
adm:3:4:/sbin/nologin
lp:4:7:/sbin/nologin
sync:5:0:/bin/sync
10. paste
★ 合并多个文件同行号的列到一行
paste [OPTION]... [FILE]...
-d|--delimiters=LIST
-s|--serial
-z|--zero-terminated
[root@centos8 ~]
a:1
b:2
c:3
d:4
e:5
11. wc
★ 收集文本统计数据
统计文件的行总数、单词总数、字节总数和字符总数,可以对文件或STDIN中的数据统计
wc [OPTION]... [FILE]...
-l|--lines
-w|--words
-c|--bytes
-m|--chars
-L|--max-line-length
[root@rocky8 day5]
word
word
word
word
word
[root@rocky8 day5]
6 5 26 b.txt
行数 单词数 字节数
12. sort
★ 文本排序
把整理过的文本显示在STDOUT,不改变原始文件
sort [OPTION]... [FILE]...
-b|--ignore-leading-blanks
-f|--ignore-case
-h|--human-numeric-sort
-M|--month-sort
-n|--numeric-sort
-R|--random-sort
-r|-reverse
-t|--field-separator=SEP
-k|--key=KEYDEF
-u|--unique
-z|--zero-terminated
13. uniq
★ 从输入中删除前后相接的重复的行,常和 sort 配合使用
uniq [OPTION]... [INPUT [OUTPUT]]
-c|--count
-d|--repeated
-D
-u|--unique
-z|--zero-terminated
14. diff
★ 比较两个文件之间的区别
diff [OPTION]... FILES
-u
15. patch
★ 复制在其它文件中进行的改变(要谨慎使用)
patch [OPTION]... [ORIGFILE [PATCHFILE]]
-b|--backup
16. tr
★ 用于转换字符、删除字符和压缩重复的字符。它从标准输入读取数据并将结果输出到标准输出
tr [OPTION]... SET1 [SET2]
-c|-C|--complement
-d|--delete
-s|--squeeze-repeats
-t|--truncate-set1
[root@rocky8 day3]
adsd
ADSD
[root@rocky8 day3]
1234567
167
[root@rocky8 ~]
abcd
[root@rocky8 ~]
1234[root@rocky8 ~]
17. tee
★ 将标准输入复制到每个指定文件,并显示到标准输出
tee [OPTION]... [FILE]...
-a|--append
-i|--ignore-interrupts
-p
--output-error[=模式]
18. cmp
查看二进制文件的不同