sed和awk都是通用的文本处理实用程序,用户可以使用它们获得类似的结果,语法略有不同:
使用这两种方法,用户可以在文件中添加、替换/翻译和删除内容。
这两个通用文本处理实用程序与tr文本处理实用程序的主要区别是什么?
我假设tr的S功能包括在sed和awk中,因此它只是缩小到替换另一个字符串的特定上下文,但我不确定我在这里是否准确,或者将它转换到另一个字符串。
发布于 2018-03-03 21:31:12
类似于sed有一个y命令的tr:
Y/ string2 1/string2 2/将string1中的所有字符替换为string2中的相应字符。
$ echo 'a big cat' | sed -e 'y/abc/def/'
d eig fdty不支持字符范围a-z或类[:alpha:] 喜欢tr有吗?,也不支持补码模式-c和-C。删除(-d)在s//中是可能的,用单个字符(-s)代替运行也是可能的。与所有sed一样,它基本上是面向行的。y有时在较长的sed脚本中很有用,但是如果您所做的就是这样的话,tr可能会做得更好。
awk的基本功能与tr的S基本功能不相上下,不过你当然可以一次替换一个字符。awk语言相当通用,如果你有足够的动力,你可以编写足够多的循环和条件来实现任何你想要的转换。如果你更有动力,你也可以在sed中做到这一点。这些工具在任何意义上都不是真正等价的。
https://unix.stackexchange.com/questions/427940
复制相似问题