当前位置:首页 > 问答 > 正文

文件处理📁掌握Linux中读取文件的常用技巧

核心关键词

  • 基础命令

    • cat (concatenate):连接文件并打印到标准输出设备。
    • less:分页显示工具,支持前后翻页、搜索。
    • more:基础的分页显示工具,仅支持向前翻页。
    • head:显示文件开头部分内容(默认10行)。
    • tail:显示文件末尾部分内容(默认10行),常用 -f 参数实时追踪文件更新。
    • nl (number lines):显示文件内容并附带行号。
    • tac:反向显示文件内容(从最后一行到第一行)。
  • 高级处理

    • grep:强大的文本搜索工具,使用正则表达式搜索文本。
    • awk:文本处理和数据提取语言,适用于处理结构化文本(如日志、CSV)。
    • sed (stream editor):流编辑器,用于对输入流(文件或管道)执行文本转换。
  • 查看方式

    • 分页查看 (Paging)
    • 实时追踪 (Real-time Monitoring)
    • 内容过滤 (Content Filtering)
    • 数据提取 (Data Extraction)
  • 常用参数/选项

    • -n:显示行号(适用于 cat, less, grep 等)。
    • -f:持续读取文件末尾新增的内容(tail 命令专属)。
    • -F:与 -f 类似,但能跟踪重新创建的文件(tail 命令专属)。
    • -i:忽略大小写(适用于 grep 等)。
    • -r-R:递归搜索(适用于 grep)。
    • -A / -B / -C:显示匹配行之后/之前/前后的若干行(适用于 grep)。
  • 应用场景

    • 查看完整小文件
    • 浏览大型日志文件
    • 实时监控日志更新
    • 搜索特定错误信息
    • 提取特定列的数据
    • 查看文件首尾内容

关键技巧与用法示例

  1. 查看完整文件

    • cat -n filename:查看文件并显示行号。
  2. 浏览大文件(首选)

    • less +F filename:打开文件并直接进入实时追踪模式,类似 tail -f,但可按 Ctrl+C 退出追踪模式再使用 less 的全功能(搜索、翻页等)。
    • less -N filename:带行号浏览文件。
    • less 内操作:输入 /keyword 向前搜索,?keyword 向后搜索,按 n 跳至下一个匹配项。
  3. 实时追踪日志

    • tail -f /var/log/syslog:实时监视系统日志的新内容。
    • tail -F /path/to/service.log:即使日志文件被轮转/重新创建,也能持续追踪。
  4. 查看文件头尾

    • head -n 20 filename:查看文件前20行。
    • tail -n 50 filename:查看文件最后50行。
    • tail -n +100 filename:从第100行开始显示到文件末尾。
  5. 结合搜索

    文件处理📁掌握Linux中读取文件的常用技巧

    • grep -n "error" filename:在文件中搜索 "error" 一词并显示其所在行号。
    • grep -C 3 "exception" filename:搜索 "exception" 并显示匹配行及其前后各3行内容。
    • tail -f /var/log/app.log | grep -i "warning":实时追踪日志并高亮显示所有“warning”信息(不区分大小写)。
  6. 提取特定数据

    • awk '{print $1}' filename:打印文件每行的第一列(默认以空格分隔)。
    • awk -F',' '{print $2}' data.csv:以逗号为分隔符,打印CSV文件的第二列。
  7. 其他有用命令

    • file filename:查看文件类型(如文本、二进制、压缩包等)。
    • wc -l filename:统计文件的行数。

文件处理📁掌握Linux中读取文件的常用技巧

发表评论