如何将所有“x”更改为“y”,但仅在每行的初始“z”之前(或之后)?

如何将所有“x”更改为“y”,但仅在每行的初始“z”之前(或之后)?

在文本文件中的每一行,我需要将所有.字符更改为#字符,但仅在第一个=符号之前。因此,在=遇到第一个符号后停止处理每一行。

=如果更容易,请在遇到第一个标志后执行相同的操作。

示例1:

aaa.bbb.ccc=ljk.qrm

会成为

aaa#bbb#ccc=ljk.qrm

示例 2(如果更简单的话):

aaa.bbb.ccc=ljk.qrm

会成为

aaa.bbb.ccc=ljk#qrm

答案1

$ awk -F= '{gsub(/\./,"#",$1)}1' OFS="=" input.txt
aaa#bbb#ccc=ljk.qrm
aaa#bbb#ccc=ljk.qrm
aaa#bbb#ccc=ljk.qrm

相关内容