Linux文本查看与处理

26. cat:按顺序查看文件内容

用法:cat 文件名

  • 这个命令可以快速查看文件内容,把多个文件拼起来显示

# 创建两个测试文件--
echo "这是文件内容1" > file1.txt
echo "这是文件内容2" > file2.txt
# 查看单个文件内容--
cat file1.txt
# 拼接文件内容--
cat file1.txt file2.txt > ludeng.txt
# 显示合并后的文件内容(-n: 加上行号)--
cat -n ludeng。txt
# 查看cpu详情--
cat /proc/cpuinfo
# 查看内容详情--
cat /proc/meminfo

27. tac:按倒序查看文件内容

用法:tac 文件名

  • tac 是反过来显示文件内容,最后一行先显示。

28. more:逐页查看文件

用法:more 文件名

more ludeng.txt
  • 按空格翻页

  • 按 q 退出

29. less:更灵活的翻页查看

用法:less 文件名

less ludeng.txt
  • 用上下箭头滚动

  • 输入 /关键词 搜索

  • q 退出

more 与 less 区别:

  • more:简单只能向后翻页。

  • less:功能更强大,支持前后翻页 和 搜索

lessmore 更好用,文件多建议用 less 更方便。

30. head:文件内容看 "开头"

" 文件太大的情况下,我们只看重要的部分"

用法:head 文件名(看文件的前10行)

31. tail: 文件内容看 "结尾"

"与 head 同理"

用法:tail 文件名 (看文件的最后10行)

常用操作:

  • 指定行数:

head -n 5 ludeng.txt        #看文件前五行
tail -n 5 ludeng.txt        #看文件最后5行
  • 实时监控文件变化:

tail -f ludeng.txt

headtail ,一个看开头,一个看结尾

32. grep: 文本搜索信息
  • 从文本中快速找到我们想要的信息

用法:grep [选项] "关键词" 文件/目录

  • 文本搜索,支持关键词匹配,忽略大小写,行号显示等功能,适合日志分析,快速定位问题

  • 常用操作

# 1.查找文件中含有 "error" 的行
grep "error" ludeng.txt
# 2.忽略大小写匹配
grep -i "error" ludeng.txt
# 3.显示匹配的行号
grep -n "error" ludeng.txt
# 4.递归搜索目录下所有文件
grep -R "error" /youyude/ludeng
# 5.反向匹配,只显示不包含 "error" 的行
grep -v "error" ludeng.txt
# 6.搜索多个关键词(用 \ | 分隔)
grep -E "error|fail" ludeng.txt
# 7.统计匹配的行数
grep -c "error" ludeng.txt
# 8.只显示匹配的文件名
grep -l "error" *.txt
# 9.递归搜索 + 忽略二进制文件 (常用)
grep -nRI "keywork" /youyude/ludeng

总结:

  • 匹配方式: 默认区分大小写,-i 忽略大小写,-E 支持多关键词匹配。

  • 显示信息:-n 显示行号,用 -c 统计匹配行数,用 -l 仅列出文件名。

  • 过滤内容:-v 显示不匹配关键词的内容。

  • 递归搜索:-r 搜索目录及子目录中的所有文件。

    • grep 可在 命令行中搜索,应对日志分析,本文快速定位

33. find:文件搜索
  • 找文件,筛文件,批量操作文件

用法:find [搜索路径] [条件] [操作]

  • 灵活的文件查找命令,支持文件名类型大小修改时间等条件精准搜索,对结果执行操作。

  • 常用操作

# 1. 查找当前目录下名为 file.txt 的文件
find . -name "ludeng.txt"
# 2. 忽略大小写:查找文件名中包含 test 的文件
find /path/to/dir -iname "*test*"
# 3. 按类型查找:查找当前目录下所有目录
find . -type d
# 4. 按大小查找:找出大于 10MB 的文件
find . -size +10M
# 5. 按时间查找:查找最近 7 天修改过的文件
find . -mtime -7
# 6. 结合操作:查找 .log 文件并删除
find . -name "*.log" -exec rm {} \;

总结

  • 按文件名:-name 或 -iname 匹配文件名( -inam 忽略大小写)。

  • 按类型:-type 筛选类型(d 目录,f 文件)。

  • 按大小:-size 精确筛选文件大小。

  • 按时间:-mtime 找最近修改的文件。

  • 结合操作:-exec 对结果执行操作,比如删除或移动文件。

find 是对文件进行管理,搜索和操作的命令。

34. sed:文本处理
  • 批量修改文件,替换文本内容

用法:sed [选项] '命令' 文件

  • 强大的流式编辑器,支持查找,替换,删除,插入等操作,适用于文本处理和自动化脚本

  • 常用操作

# 1. 查找并替换:将文件中所有 "old" 替换为 "new"
sed 's/old/new/g' ludeng.txt
# 2. 只显示替换后的结果,不修改原文件
sed 's/old/new/g' ludeng.txt 
# 3. 直接修改文件(加 -i)
sed -i 's/old/new/g' ludeng.txt
# 4. 删除包含 "unwanted" 的行 
sed '/unwanted/d' ludeng.txt     (不修改原文件)
sed -i '/unwanted/d' ludeng.txt  (直接修改文件)
# 5. 显示文件的特定行 (如第5行)
sed -n '5' ludeng.txt
# 6. 批量插入内容:在文件每一行后添加 "END"
sed 's/$/END/' ludeng.txt

总结

  • 查找替换:s/old/new/g 替换文本内容。

  • 直接修改:-i 参数直接修改文件内容。

  • 删除行:/pattern/d 删除匹配的行。

  • 插入内容:s/$/ 内容/ 在每行末尾添加内容。

sed 是命令行下的文本处理神器

35. awk:文本分析
  • 从数据中提取想要的信息

用法:awk '条件 { 动作 }' 文件

  • 适合处理结构文本,如日志,CSV 文件,支持模式匹配,字段操作,条件过滤等。

  • 常用操作

# 1. 打印每行的第 1 列和第 3 列
awk '{print $1, $3}' ludeng.txt
# 2. 答应包含关键字 "error" 的行
awk '/error/ {print}' ludeng.txt
# 3. 条件过滤:打印第 3 列值大于 100 的行
awk '$3 > 100{print}' ludeng.txt
# 4. 在输出中添加分隔符(如逗号)
awk '{print $1","$2}' ludeng.txt
# 5. 统计行数
awk 'END {print NR}' ludeng.txt
# 6. 处理 CSV 文件:打印第 2 列
awk -F ',' '{print $2}' ludeng.csv
# 7. 计算列总和:统计第 3 列的总和
awk '{sum += $3} END {print sum}' ludeng.txt

总结:

  • 字段操作:$1, $2, $3 表示第 1、2、3 列。

  • 条件过滤:/pattern/ 或条件语句 (如 $3 >100

  • 自定义分隔符:-F 指定分隔符 (如 -F ',' 处理CSV文件)

  • 内置变量:

    • NR: 行号

    • NF: 字段数

    • $0: 整段内容

awk 对文本进行处理,数据提取与分析

36. wc:统计文件信息
  • 统计出文件有多少行,多少单词

用法:wc [参数] 文件名

  • 常用参数:

#统计行数 (-l)
wc -l ludeng.txt       ---显示文件总行数
#统计单词数 (-w)
wc -w ludeng.txt       ---统计文件中有多少单词

wc 的几个参数简单使用,-l 数行 ,-w 数单词。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值