首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Shell脚本修改文件中特定行的内容,如果该行中的文本在其他行中重复多次

如何使用Shell脚本修改文件中特定行的内容,如果该行中的文本在其他行中重复多次
EN

Unix & Linux用户
提问于 2015-10-21 13:07:42
回答 1查看 993关注 0票数 0

当行中的文本在其他行中重复多次时,如何使用Shell脚本修改文件中特定行的内容。例如,在我的文件中:

代码语言:javascript
复制
##############################
[CC-COARSEGRID-PRECONDITIONER]
##############################
# Relaxation parameter
domega = 1.0
##############
[CC-PRECONDMK]
##############
# Relaxation parameter
domega = 0.9

我想将最后一行改为: domega = 0.4

EN

回答 1

Unix & Linux用户

发布于 2015-10-21 13:24:12

您可以使用sed/tac

代码语言:javascript
复制
tac file | sed '0,/domega = .*/s/domega = .*/domega = 0.4/' | tac
  • tac file反转文件。
  • 0,/domega = .*/只在行0和domega的第一次出现之间进行替换(现在是最后一次)。
  • 然后,s/domega = .*/domega = 0.4/进行相关处理。
  • tac再次逆转。
票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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