Skip to content

文本处理命令 ​

文本处理是 Linux 系统的强项之一,提供了丰富而强大的文本处理工具。这些命令可以用于查看、搜索、编辑、分析和处理文本文件。

命令列表 ​

文本查看 ​

cat

连接多个文件并打印到标准输出,常用于查看文件内容

less

分页查看文件内容,支持向前向后翻页

more

分页查看文件内容,只支持向前翻页

head

显示文件的前几行(默认10行)

tail

显示文件的后几行,常用于查看日志文件

文本搜索与匹配 ​

grep

强大的文本搜索工具,支持正则表达式

egrep

扩展的正则表达式搜索工具

fgrep

快速的固定字符串搜索工具

ag

银搜索器,比 grep 更快的代码搜索工具

ack

程序员友好的搜索工具

文本编辑与转换 ​

sed

流编辑器,用于文本替换、删除、插入等操作

awk

强大的文本处理工具,适合处理结构化文本

tr

字符转换工具,可以替换或删除字符

cut

从文本中提取指定的列或字段

paste

合并文件的行

文本排序与统计 ​

sort

对文本行进行排序

uniq

报告或删除重复的行

wc

统计文件的行数、单词数和字符数

nl

给文本行添加行号

文本比较 ​

diff

比较两个文件的差异

comm

逐行比较两个已排序的文件

cmp

逐字节比较两个文件

实用示例 ​

日志分析 ​

bash
# 查看日志文件最后100行
tail -n 100 /var/log/syslog

# 实时监控日志文件
tail -f /var/log/apache2/access.log

# 搜索错误信息
grep -i "error" /var/log/syslog

# 统计IP访问次数
awk '{print $1}' access.log | sort | uniq -c | sort -nr

文本处理流水线 ​

bash
# 提取、排序并统计唯一值
cat data.txt | cut -d',' -f2 | sort | uniq -c

# 搜索并高亮显示
grep --color=always "pattern" file.txt

# 替换文本内容
sed 's/old_text/new_text/g' file.txt

# 复杂的 awk 处理
awk -F',' '{sum+=$3} END {print "Total: " sum}' data.csv

数据清洗 ​

bash
# 删除空行
sed '/^$/d' file.txt

# 删除重复行
sort file.txt | uniq

# 转换大小写
tr '[:lower:]' '[:upper:]' < file.txt

# 删除特定字符
tr -d '[:digit:]' < file.txt

基于 MIT 许可发布