| grep | sed |
特点 | 简单过滤更为适用 | 替换内容更为适用 | 功能强大可以进行运算 |
主要用途 | 对文本进行筛选和查找 | 对文本进行替换、删除、插入 | 对文本进行数据统计、条件判断 |
工作模式 | 以行为单位,不涉及行内具体字段做操作 | 主要以行为单位,可以结合正则对部分内容进行操作 | 以字段为基本处理单位,可以对每行中不同字段进行独立操作 |
基本正则 | grep | sed | awk |
扩展正则 | grep -E | sed -r | awk |
过滤语法结构 | grep '字符串' file | sed -n '/字符串/p' file | awk '/字符串/' file |
文件区间范围 | 无 | sed -n '/字符串/,/字符串/p' file | awk '/字符串/,/字符串/' file |
删除内容 | 无 | sed '删除的行或内容d' file | awk '!/包含此字符串的行/' file |
增加内容 | 无 | | awk '{print $0, "增加的内容"}' file 在每行后面添加内容 |
替换内容 | 无 | sed 's#替换的内容#替换成什么#g' file | awk '{gsub(/替换的内容/, "替换成什么"); print}' file |
取行 | 结合正则参考过滤语法结构 | 结合正则参考过滤语法结构 | awk 'NR==行数' file |
取列 | 无 | 无 | awk '{print $n}' file |
指定分割符 | 无 | 无 | awk -F"所有字符皆可指定" '{print $行数}' file |
语法结构 | grep '找谁' | sed '找谁做什么操作' | awk '找谁{做什么操作}' file |