gpt4 book ai didi

awk - 用文本文件最后两行的最后一个单词中的另一个字母替换一个字母

转载 作者:行者123 更新时间:2023-12-04 11:10:10 24 4
gpt4 key购买 nike

我怎么可能用另一个字符替换一个字符,从 shell 中文本文件的最后两行中选择最后一个单词,只使用一个命令?就我而言,替换每次出现的 aE仅从最后一句话。
就像,从包含这个的文本文件:

tree;apple;another
mango.banana.half
monkey.shelf.karma
对此:
tree;apple;another
mango.banana.hElf
monkey.shelf.kErmE
我尝试使用 sed -n 'tail -2 'mytext.txt' -r 's/[a]+/E/*$//'但它不起作用(我的错误: sed expression #1, char 10: unknown option to 's )。

最佳答案

你可以试试以下吗,tac + awk解决方案。完全基于 OP 的样本。

tac Input_file | 
awk 'FNR<=2{if(/;/){FS=OFS=";"};if(/\./){FS=OFS="."};gsub(/a/,"E",$NF)} 1' |
tac
显示样本的输出是:
tree;apple;another
mango.banana.hElf
monkey.shelf.kErmE
注意:更改 gsubsub如果您只想替换第一次出现的字符 a在最后一个领域。

关于awk - 用文本文件最后两行的最后一个单词中的另一个字母替换一个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64366700/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com