Bash - 搜索和追加字符串

use*_*811 0 linux bash

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

file=?
Run Code Online (Sandbox Code Playgroud)

我想file=?用文件路径搜索并替换问号.文件路径位于变量中$FILEPATH

file=$FILEPATH
Run Code Online (Sandbox Code Playgroud)

谢谢!

编辑

sed -i -f "s,file=\?,file=$FILEPATH,g"
Run Code Online (Sandbox Code Playgroud)

上面的效果很好,是我正在寻找的,但有没有办法取代问号?如果我有以下代码:

FILEPATH=/file/path
Run Code Online (Sandbox Code Playgroud)

属性文件:

something=?
file=?
Run Code Online (Sandbox Code Playgroud)

替换产生:

属性文件:

something=?
file=/file/path?
Run Code Online (Sandbox Code Playgroud)

有没有办法?完全取代?

Kal*_*son 5

我会用sed:

sed -i "s/file=?/file=$FILEPATH/g" your_file
Run Code Online (Sandbox Code Playgroud)

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

sed -i "s,file=?,file=$FILEPATH,g"
Run Code Online (Sandbox Code Playgroud)