首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tr (翻译)到sed和awk的主要区别

tr (翻译)到sed和awk的主要区别
EN

Unix & Linux用户
提问于 2018-03-03 21:18:25
回答 1查看 14.8K关注 0票数 12

sedawk都是通用的文本处理实用程序,用户可以使用它们获得类似的结果,语法略有不同:

使用这两种方法,用户可以在文件中添加、替换/翻译和删除内容。

这两个通用文本处理实用程序与tr文本处理实用程序的主要区别是什么?

我假设tr的S功能包括在sedawk中,因此它只是缩小到替换另一个字符串的特定上下文,但我不确定我在这里是否准确,或者将它转换到另一个字符串。

EN

回答 1

Unix & Linux用户

发布于 2018-03-03 21:31:12

类似于sed有一个y命令tr

Y/ string2 1/string2 2/将string1中的所有字符替换为string2中的相应字符。

代码语言:javascript
复制
$ echo 'a big cat' | sed -e 'y/abc/def/'
d eig fdt

y不支持字符范围a-z或类[:alpha:] 喜欢tr有吗?,也不支持补码模式-c-C。删除(-d)在s//中是可能的,用单个字符(-s)代替运行也是可能的。与所有sed一样,它基本上是面向行的。y有时在较长的sed脚本中很有用,但是如果您所做的就是这样的话,tr可能会做得更好。

awk的基本功能与tr的S基本功能不相上下,不过你当然可以一次替换一个字符。awk语言相当通用,如果你有足够的动力,你可以编写足够多的循环和条件来实现任何你想要的转换。如果你更有动力,你也可以在sed中做到这一点。这些工具在任何意义上都不是真正等价的。

票数 8
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/427940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档