【问题标题】:How can replace last character in string inside file如何替换文件内字符串中的最后一个字符
【发布时间】:2022-01-27 22:27:03
【问题描述】:

如何用文件变量中的 X 替换字符串中的最后一个字符

我试试这个,但不起作用:

sed -i "s/EXTRA_VARIABLE/s/.$.X/$VAR_EXTRA/g" filename.txt

VAR_EXTRA=侠盗猎车手

文件名.txt 包含:

EXTRA_VARIABLE foo BEE

我想要的是:

GTX 富蜂

VAR_EXTRA 的最后一个字符被替换为 X,EXTRA_VARIABLE 被替换为 VAR_EXTRA 值 (GTX)

【问题讨论】:

  • 你的意思是sed -i "s/EXTRA_VARIABLE/EXTRA_VARIABLX/g" filename.txt
  • 不,我会用详细信息更新我的帖子

标签: linux shell sed


【解决方案1】:

我猜你想做两个替换

$ sed "s/EXTRA_VARIABLE/${VAR_EXTRA::-1}X/" file
  1. 替换变量的最后一个字符
  2. 用更新后的变量替换文件中的字符串

首先是在bash 字符串操作中完成(删除最后一个字符并附加X),其次是标准sed。

【讨论】:

    猜你喜欢
    • 2014-02-12
    • 1970-01-01
    • 2016-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-01
    相关资源
    最近更新 更多