【发布时间】:2016-11-15 20:33:18
【问题描述】:
sed 可以处理替换并同时评估表达式以某种方式替换吗?
例如,我在一个文本文件中有以下条目:
##################################### topd Tree1 - Tree14 #######################################
由于我不会深入探讨的原因,相对于我目前使用的另一个编号方案,每棵树的编号都是 N+1。
是否可以 sed(或任何实用程序,sed 只是我的查找和替换操作),找到 TreeN 的每个实例并用 TreeN-1 替换它们,这样上面的行看起来像:
##################################### topd Tree0 - Tree13 #######################################
(使用 Ubuntu 12.02,所以几乎一切正常。)
【问题讨论】:
-
如果您的列是可预测的,
awk知道数学... -
是的,你没有用 sed 做这个。
-
我认为它们是(有相同的 ### 空间、topd.... 等等,尽管这对我来说似乎不如找到字符串那么健壮?
-
sed不会做数学。你应该看看 Perl。
标签: bash replace sed expression-evaluation