Possible Duplicate:
What are the differences between Perl, Python, AWK and sed?
What is the difference between sed and awk?

也许这不是一个非常具体的问题,但我对grepawksed在Unix/Linux系统管理和文本处理方面的不同感到困惑.

推荐答案

简而言之:

grep:在文件中搜索特定术语

#usage
$ grep This file.txt
Every line containing "This"
Every line containing "This"
Every line containing "This"
Every line containing "This"

$ cat file.txt
Every line containing "This"
Every line containing "This"
Every line containing "That"
Every line containing "This"
Every line containing "This"

现在awksedgrep完全不同.

awk主要用于数据提取和报告.sed是流编辑器

示例

$ sed -i 's/cat/dog/' file.txt
# this will replace any occurrence of the characters 'cat' by 'dog'

Awk

$ awk '{print $2}' file.txt
# this will print the second column of file.txt

基本awk用法:

$ cat file.txt
A 10
B 20
C 60
$ awk 'BEGIN {sum=0; count=0; OFS="\t"} {sum+=$2; count++} END {print "Average:", sum/count}' file.txt
Average:    30

I recommend that you read this book: Sed & Awk: 2nd Ed.

它将帮助您在任何类似unix的环境中成为熟练的sed/awk用户.

Linux相关问答推荐

Linux在所有多行中用新值替换整个列

Azure Linux B1s VM-Jenkins Sever已安装,但主页未打开

不带空格的字符串连接形成文件路径

Linux PREEMPT_RT:SCHED_OTHER 的性能优于 SCHED_FIFO.为什么?

输出特定字符的所有列号

c++进程状态中的+是什么意思

如何启用或切换现有的Flutter 项目(仅限移动设备)到 MacOS 或 WEB 或 Linux 或 Windows?

当接收端未从套接字读取时,通过 Unix 套接字发送的消息会发生什么情况?

普通用户 chown(仅更改组)

如何使用完整路径或文件名显示 grep 结果

bash 中的sed命令

在 Node.JS 中引用相对于应用程序根目录的文件的正确方法

来自远程主机的 mysqldump

使用 rc.local 运行脚本:脚本有效,但在启动时无效

当命令太长时,命令行会自动覆盖

如何将输出从 grep 传送到 cp?

如何在第一个错误时停止 xargs?

在文件夹中的 gzip 文件中查找字符串

Linux(Ubuntu)终端-如何查看以前的页面不再可见

如何在 docker 容器中运行 cron 作业(job)