searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Linux grep、sed、awk指令

2023-09-04 02:46:21
22
0

grep—搜索指定的内容

grep命令用于在文本文件中搜索指定的内容,并返回匹配的行。以下是grep命令的10个用法举例:

  1. 搜索包含指定关键词的行:grep "keyword" file.txt
  2. 搜索不区分大小写的关键词:grep -i "keyword" file.txt
  3. 反向搜索,返回不包含指定关键词的行:grep -v "keyword" file.txt
  4. 统计匹配行的数量:grep -c "keyword" file.txt
  5. 显示匹配行之前的内容:grep -B 2 "keyword" file.txt
  6. 显示匹配行之后的内容:grep -A 2 "keyword" file.txt
  7. 显示匹配行及其上下文的内容:grep -C 2 "keyword" file.txt
  8. 仅显示匹配的关键词:grep -o "keyword" file.txt
  9. 递归搜索目录及其子目录下的文件:grep -r "keyword" directory
  10. 使用正则表达式进行高级搜索:grep -E "pattern" file.txt

sed—流式编辑

sed命令用于对文本进行流式编辑,可以进行替换、删除、插入等操作。以下是sed命令的10个用法举例:

  1. 替换文本中的指定字符串:sed 's/old/new/' file.txt
  2. 替换文本中的所有匹配字符串:sed 's/old/new/g' file.txt
  3. 删除匹配指定模式的行:sed '/pattern/d' file.txt
  4. 删除空白行:sed '/^$/d' file.txt
  5. 在匹配行之前插入新行:sed '/pattern/i new line' file.txt
  6. 在匹配行之后插入新行:sed '/pattern/a new line' file.txt
  7. 仅打印匹配的行:sed -n '/pattern/p' file.txt
  8. 仅打印指定行范围内的内容:sed -n '2,5p' file.txt
  9. 将文本中的所有字母转为大写:sed 's/[a-z]/\U&/g' file.txt
  10. 将文本中的所有字母转为小写:sed 's/[A-Z]/\L&/g' file.txt

awk—文本处理

awk命令是一种强大的文本处理工具,可以根据指定的规则从文本中提取信息并进行处理。以下是awk命令的10个用法举例:

  1. 打印指定列的内容:awk '{print $1}' file.txt
  2. 根据指定的分隔符切割文本并打印指定列:awk -F',' '{print $2}' file.txt
  3. 根据指定条件筛选行并打印:awk '/pattern/{print}' file.txt
  4. 计算指定列的总和:awk '{sum += $1} END {print sum}' file.txt
  5. 根据指定条件进行行和列的求和:awk '{rowsum+=$1; colsum+=$2} END {print rowsum, colsum}' file.txt
  6. 根据指定条件进行行的分组并计数:awk '{count[$1]++} END {for (item in count) print item, count[item]}' file.txt
  7. 根据指定条件进行行的分组并求平均值:awk '{sum[$1]+=$2; count[$1]++} END {for (item in sum) print item, sum[item]/count[item]}' file.txt
  8. 格式化输出:awk '{printf "%-10s %-5d\n", $1, $2}' file.txt
  9. 自定义变量并进行计算:awk 'BEGIN {x=5; y=10; print x+y}'
  10. 执行自定义函数:awk 'function myfunc(x) {return x*2} {print myfunc($1)}' file.txt

以上是Linux grep、sed和awk指令的介绍以及每个命令的10个用法举例,它们在文本处理和分析中非常实用。

0条评论
0 / 1000
陈****曈
5文章数
0粉丝数
陈****曈
5 文章 | 0 粉丝
陈****曈
5文章数
0粉丝数
陈****曈
5 文章 | 0 粉丝
原创

Linux grep、sed、awk指令

2023-09-04 02:46:21
22
0

grep—搜索指定的内容

grep命令用于在文本文件中搜索指定的内容,并返回匹配的行。以下是grep命令的10个用法举例:

  1. 搜索包含指定关键词的行:grep "keyword" file.txt
  2. 搜索不区分大小写的关键词:grep -i "keyword" file.txt
  3. 反向搜索,返回不包含指定关键词的行:grep -v "keyword" file.txt
  4. 统计匹配行的数量:grep -c "keyword" file.txt
  5. 显示匹配行之前的内容:grep -B 2 "keyword" file.txt
  6. 显示匹配行之后的内容:grep -A 2 "keyword" file.txt
  7. 显示匹配行及其上下文的内容:grep -C 2 "keyword" file.txt
  8. 仅显示匹配的关键词:grep -o "keyword" file.txt
  9. 递归搜索目录及其子目录下的文件:grep -r "keyword" directory
  10. 使用正则表达式进行高级搜索:grep -E "pattern" file.txt

sed—流式编辑

sed命令用于对文本进行流式编辑,可以进行替换、删除、插入等操作。以下是sed命令的10个用法举例:

  1. 替换文本中的指定字符串:sed 's/old/new/' file.txt
  2. 替换文本中的所有匹配字符串:sed 's/old/new/g' file.txt
  3. 删除匹配指定模式的行:sed '/pattern/d' file.txt
  4. 删除空白行:sed '/^$/d' file.txt
  5. 在匹配行之前插入新行:sed '/pattern/i new line' file.txt
  6. 在匹配行之后插入新行:sed '/pattern/a new line' file.txt
  7. 仅打印匹配的行:sed -n '/pattern/p' file.txt
  8. 仅打印指定行范围内的内容:sed -n '2,5p' file.txt
  9. 将文本中的所有字母转为大写:sed 's/[a-z]/\U&/g' file.txt
  10. 将文本中的所有字母转为小写:sed 's/[A-Z]/\L&/g' file.txt

awk—文本处理

awk命令是一种强大的文本处理工具,可以根据指定的规则从文本中提取信息并进行处理。以下是awk命令的10个用法举例:

  1. 打印指定列的内容:awk '{print $1}' file.txt
  2. 根据指定的分隔符切割文本并打印指定列:awk -F',' '{print $2}' file.txt
  3. 根据指定条件筛选行并打印:awk '/pattern/{print}' file.txt
  4. 计算指定列的总和:awk '{sum += $1} END {print sum}' file.txt
  5. 根据指定条件进行行和列的求和:awk '{rowsum+=$1; colsum+=$2} END {print rowsum, colsum}' file.txt
  6. 根据指定条件进行行的分组并计数:awk '{count[$1]++} END {for (item in count) print item, count[item]}' file.txt
  7. 根据指定条件进行行的分组并求平均值:awk '{sum[$1]+=$2; count[$1]++} END {for (item in sum) print item, sum[item]/count[item]}' file.txt
  8. 格式化输出:awk '{printf "%-10s %-5d\n", $1, $2}' file.txt
  9. 自定义变量并进行计算:awk 'BEGIN {x=5; y=10; print x+y}'
  10. 执行自定义函数:awk 'function myfunc(x) {return x*2} {print myfunc($1)}' file.txt

以上是Linux grep、sed和awk指令的介绍以及每个命令的10个用法举例,它们在文本处理和分析中非常实用。

文章来自个人专栏
陈金曈的专栏
5 文章 | 2 订阅
0条评论
0 / 1000
请输入你的评论
0
0