linux - Bash - 搜索和追加字符串

标签 linux bash

如果我想在文件中搜索一行并在该行的末尾附加一个字符串,我该怎么做呢?即:

file=?

我想搜索 file=? 并将问号替换为文件路径。文件路径位于变量 $FILEPATH

file=$FILEPATH

谢谢!

编辑

sed -i -f "s,file=\?,file=$FILEPATH,g"

上面的效果很好,是我要找的,但是有没有办法替换问号?使用上面的代码,如果我有以下内容:

FILEPATH=/file/path

属性文件:

something=?
file=?

替换产生:

属性文件:

something=?
file=/file/path?

有没有办法完全替换?

最佳答案

我会为此使用 sed:

sed -i "s/file=?/file=$FILEPATH/g" your_file

如果您的 $FILEPATH/ 则使用不同的 sed 分隔符,例如:

sed -i "s,file=?,file=$FILEPATH,g"

关于linux - Bash - 搜索和追加字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8316226/

相关文章:

linux - 使用 xargs 处理文件以实现并发

bash - 将变量与 grep 语句进行比较

c++ - 为什么构造函数中的多参数在 linux 下不起作用?

c# - Dotnet 应用程序作为守护进程启动,无法正常工作

linux - Eventfd在Linux中的作用

bash - unix bash 语法错误接近意外标记 'do'

bash - 使用 bash 我需要在文件名中的文件扩展名之前删除尾随空格

php - 从 php 脚本运行 git pull

Bash 遍历元素列表

linux - 通过 ssh 在返回的文本中保留 '\n' 换行符