用斜杠传递sed参数(使目录成为字符串?)

时间:2017-05-17 04:24:09

标签: bash sed replace slash

我正在尝试传递assets / css / images来替换多个文件中的图像。

所以我写了这个脚本

$list
$word
$neword
$i

echo "select files: "
read list
echo "input word to search for: "
read word
echo "input word to replace with: "
read neword

for i in $list
do
sed -i "s/${word}/${neword}/g" $i

完成

它适用于没有/的单词,我可以看到原因,但我不知道如何绕过它。任何人吗?

1 个答案:

答案 0 :(得分:0)

你应该这样做以逃避/

中的sed

尝试关注,

sed -i "s#${word}#${neword}#g" "$i"

sed -i "s~${word}~${neword}~g" "$i"

编辑:根据@tripleee建议的文件名添加引号,以避免$i中包含的文件名包含空格。