我正在 bash 中构建一个脚本,它会查找对其他文件的引用(例如 html 文件中对 img 源 (image.jpg) 的引用)
问题是我正在使用 sed 替换所有包含(在本例中)“/some/random/directory/image.jpg”的实例
“ some/random/directory/image.jpg”每次都会有所不同,所以当涉及到我的 sed 行时,我需要使用正则表达式,但是为了找到要替换的行,我需要包含image.jpg .
所以例如我的 sed 线就像
sed 's/\/some\/random\/directory\/image.jpg/images\/image.jpg/g'
但是我如何得到 find 中的内容的结尾并将其放入替换中?(在这个例子中,它是image.jpg。有没有办法让它成为一个变量?
这是我现在的脚本:
#!/bin/bash
cd /home/username/www/immrqbe/
for file in $(grep -rlI ".jpg" *)
do
sed -e "s/\".*\/.*.jpg//ig" $file > /tmp/tempfile.tmp
mv /tmp/tempfile.tmp /home/username/www/immrqbe/$file
done
这显然不是功能完整的,因为我需要帮助,但是您知道我希望如何完成它。