【Linux-三剑客grep/sed/awk】

■ grep

命令 描述
grep “pattern” file.txt 在 file.txt 中搜索 “pattern”。
grep -i “pattern” file.txt 忽略大小写搜索 “pattern”。
grep -n “pattern” file.txt 显示匹配行的行号。
grep -r “pattern” /path/to/directory 递归搜索指定目录。
grep “regex_pattern” file.txt 使用正则表达式搜索。
grep -v “pattern” file.txt 查找不包含 “pattern” 的行。
grep -c “pattern” file.txt 显示匹配的行数。
grep “pattern” file1.txt file2.txt 同时搜索多个文件。
grep -A 2 -B 2 “pattern” file.txt 显示匹配行的上下文行。
grep “pattern” * 在当前目录中的所有文件中搜索 “pattern”。

■ sed

sed 命令的一些常见用法,用于替换、删除、追加文本等文本编辑操作。
sed 是一种强大的文本处理工具,可以根据需要进行高度定制。

命令 描述 示例
sed ‘s/old/new/’ file.txt 替换文本文件中的第一个匹配行的 “old” 为 “new”。 sed ‘s/apple/orange/’ fruits.txt
sed ‘s/old/new/g’ file.txt 替换文本文件中所有匹配行的 “old” 为 “new”。 sed ‘s/apple/orange/g’ fruits.txt
sed ‘2s/old/new/’ file.txt 仅替换文件中的第2行匹配的 “old” 为 “new”。 sed ‘2s/apple/orange/’ fruits.txt
sed ‘1,3s/old/new/’ file.txt 替换文件中第1行到第3行的匹配的 “old” 为 “new”。 sed ‘1,3s/apple/orange/’ fruits.txt
sed ‘/pattern/s/old/new/’ file.txt 仅替换包含 “pattern” 的行中的 “old” 为 “new”。 sed ‘/apple/s/red/g’ fruits.txt
sed ‘/pattern/!s/old/new/’ file.txt 仅替换不包含 “pattern” 的行中的 “old” 为 “new”。 sed ‘/apple/!s/red/g’ fruits.txt
sed ‘s/old/new/g’ file.txt > newfile.txt 将替换后的文本写入新文件。 sed ‘s/apple/orange/g’ fruits.txt > newfruits.txt
sed -i ‘s/old/new/g’ file.txt 原位编辑(直接修改源文件)并替换 “old” 为 “new”。 sed -i ‘s/apple/orange/g’ fruits.txt
sed ‘/^#/d’ file.txt 删除文件中以 “#” 开头的行。 sed ‘/^#/d’ config.txt
sed ‘/pattern/r file2.txt’ file1.txt 将 file2.txt 中的内容附加到包含 “pattern” 的行。 sed ‘/apple/r fruits.txt’ drinks.txt

■ awk

awk 命令的一些常见用法,用于处理结构化文本数据、计算、过滤、替换和输出。awk 是一个强大的文本处理工具,可以根据需要进行高度定制。

命令 描述 示例
awk ‘{print $1}’ file.txt 打印每行的第一个字段(默认字段分隔符为空格)。 awk ‘{print $1}’ data.txt
awk ‘/pattern/’ file.txt 打印包含 “pattern” 的行。 awk ‘/apple/’ fruits.txt
awk ‘{print NF}’ file.txt 打印每行的字段数(NF 表示字段数)。 awk ‘{print NF}’ data.txt
awk -F’:’ ‘{print $1}’ file.txt 指定字段分隔符为冒号(:)并打印第一个字段。 awk -F’:’ ‘{print $1}’ passwd.txt
awk ‘{sum+=$1} END {print sum}’ file.txt 计算第一个字段的总和并打印。 awk ‘{sum+=$1} END {print sum}’ numbers.txt
awk ‘$3 >= 50 {print $1, $3}’ file.txt 打印第一个和第三个字段,如果第三个字段大于等于 50。 awk ‘$3 >= 50 {print $1, $3}’ scores.txt
awk ‘/pattern/ {count++} END {print count}’ file.txt 统计包含 “pattern” 的行数。 awk ‘/apple/ {count++} END {print count}’ fruits.txt
awk ‘{gsub(“old”, “new”); print}’ file.txt 替换所有行中的 “old” 为 “new” 并打印。 awk ‘{gsub(“apple”, “orange”); print}’ fruits.txt
awk -v var=“value” ‘{print var, $1}’ file.txt 使用变量值在输出中插入数据。 awk -v fruit=“apple” ‘{print fruit, $1}’ fruits.txt
awk ‘NR > 1’ file.txt 打印除了第一行以外的所有行。 awk ‘NR > 1’ data.txt

相关推荐

  1. linux剑客

    2024-03-11 22:14:08       26 阅读
  2. Linux文本剑客(1)

    2024-03-11 22:14:08       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-11 22:14:08       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-11 22:14:08       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-11 22:14:08       82 阅读
  4. Python语言-面向对象

    2024-03-11 22:14:08       91 阅读

热门阅读

  1. 设计模式之依赖倒转原则

    2024-03-11 22:14:08       42 阅读
  2. 几行代码帮你搞懂C#中的协变与逆变

    2024-03-11 22:14:08       40 阅读
  3. mysql笔记:12. 数据备份与还原

    2024-03-11 22:14:08       44 阅读
  4. c++中static的作用

    2024-03-11 22:14:08       35 阅读
  5. 【C++】6-10 输出最大值 分数 10

    2024-03-11 22:14:08       40 阅读
  6. VoIP之音视频质量及弱网解决方案

    2024-03-11 22:14:08       51 阅读
  7. 通过Jenkins自动化部署net core 项目

    2024-03-11 22:14:08       44 阅读
  8. 计算机网络面经-拥塞控制的乘法减小和加法增大

    2024-03-11 22:14:08       46 阅读
  9. springboot项目集成Redis,使用redis各项功能

    2024-03-11 22:14:08       48 阅读
  10. 什么是IoC和AOP?

    2024-03-11 22:14:08       49 阅读
  11. macos系统中redis如何设置密码

    2024-03-11 22:14:08       48 阅读
  12. 为什么农村大学生大多混的很差

    2024-03-11 22:14:08       37 阅读