linux文本处理三剑客

“Linux三剑客是指的grep、sed、awk

grep

一种强大的文本搜索工具,用于在文件内容中查找指定的字符串,并将匹配到的行输出到标准输出。以下是grep命令的基本使用方法:

在文件中搜索指定字符串
$ grep "string" filename.txt
这个命令会搜索filename.txt文件中所有出现"string"的行,不区分大小写。

在多个文件中搜索字符串
$ grep "string" file1.txt file2.txt
这个命令会搜索file1.txt和file2.txt文件中所有出现"string"的行。

使用正则表达式搜索
$ grep -E "^string" filename.txt
这个命令会搜索filename.txt文件中所有以"string"开头的行。-E选项表示启用正则表达式模式。

递归搜索目录
$ grep -r "string" /path/to/directory/
这个命令会递归地搜索/path/to/directory/目录及其子目录中的所有文件,查找包含"string"的行。

统计匹配行数
$ grep -c "string" filename.txt
这个命令会统计filename.txt文件中包含"string"的行数

sed

sed是一种流编辑器,常用于对文件进行替换、删除、添加等操作。下面是sed的一些基本用法:

替换操作:
sed 's/old_string/new_string/g' file_path。将file_path文件中所有出现的old_string字符串替换为new_string字符串。

删除操作:
sed '3d' file_path。删除file_path文件中第3行的内容。

添加操作:
sed '4a\add_text' file_path。在file_path文件中第4行之后添加add_text字符串。

标签和分支:使用标签和分支可以实现复杂的替换和删除操作
例如:sed '/pattern/{s/old_string/new_string/g;d}' file_path,表示在匹配pattern的行中将old_string替换为new_string,并删除该行

从文件中读取命令:使用“-f”选项可以从指定文件中读取sed命令
例如:sed -f sed_cmds.txt file_path。

多个命令组合:使用“-e”选项可以将多个sed命令组合起来执行
例如:sed -e 's/old_string/new_string/g' -e '3d' file_path。

awk

awk是一种文本处理程序,它可以用于从标准输入或文件中提取、操作和打印数据。以下是awk的使用示例:

打印输入流中每一行的第一个字段
$ awk '{ print $1 }' filename.txt
打印输入流中包含特定字符串的行
$ awk '/pattern/ { print }' filename.txt
计算文件中列的总和
$ awk '{ sum += $1 } END { print sum }' filename.txt
使用分隔符来指定列
$ awk -F ',' '{ print $1,$2 }' filename.csv
使用awk编写更复杂的程序,并执行
$ awk -f script.awk filename.txt
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lance_mu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值