当行中的文本在其他行中重复多次时,如何使用Shell脚本修改文件中特定行的内容。例如,在我的文件中:
##############################
[CC-COARSEGRID-PRECONDITIONER]
##############################
# Relaxation parameter
domega = 1.0
##############
[CC-PRECONDMK]
##############
# Relaxation parameter
domega = 0.9我想将最后一行改为: domega = 0.4
发布于 2015-10-21 13:24:12
您可以使用sed/tac:
tac file | sed '0,/domega = .*/s/domega = .*/domega = 0.4/' | tactac file反转文件。0,/domega = .*/只在行0和domega的第一次出现之间进行替换(现在是最后一次)。s/domega = .*/domega = 0.4/进行相关处理。tac再次逆转。https://unix.stackexchange.com/questions/237651
复制相似问题