grep:从文本中提取匹配模式的行。
sed:解决对文本流进行编辑和修改的问题。
awk:处理、分析和格式化结构化文本数据,适合复杂的数据操作。
grep(Global Regular Expression Print)用于在文件中搜索符合条件的文本行。使用正则表达式来解决
多条件搜索:grep -e “pattern1” -e “pattern2” file 查找同时匹配pattern1和pattern2的行。
反向匹配:grep -v “pattern” file 只输出不包含pattern的行。
递归搜索:grep -r “pattern” directory 在目录及其子目录中搜索。
高亮显示匹配:grep --color=auto “pattern” file 使匹配的文本高亮显示。
sed(Stream Editor)是一种流编辑器,用于对文件进行文本处理和转换,替换、删除、插入等操作。
替换文本:sed ‘s/old/new/g’ file 将文件中所有的old替换为new。
删除行:sed ‘d’ file 删除所有行;sed ‘2d’ file 删除第二行。
插入文本:sed ‘2i\New line’ file 在第二行之前插入New line。
使用正则表达式:sed -n ‘/pattern/p’ file 只输出匹配pattern的行。
1 | AWK is a domain-specific language designed for text processing and typically used as a data extraction and reporting tool. |
既然是语言,那与Python无异,只是针对的领域不同,处理不同问题的性能不同而已。
打印特定字段:awk ‘{print $1, $3}’ file 打印文件中每行的第一个和第三个字段。
条件处理:awk ‘$1 == “value” {print $2}’ file 仅当第一列等于value时打印第二列。
计算统计信息:awk ‘{sum += $1} END {print sum}’ file 计算第一列的总和。
模式匹配:awk ‘/pattern/ {print $0}’ file 打印所有包含pattern的行。