使用正则表达式用 sed 替换文件

使用正则表达式用 sed 替换文件

我想使用 sed 替换许多文件中的字符串,例如“Total:*points”。我只是不知道如何将 sed 与正则表达式一起使用。以下是我得到的。先感谢您!

find ./ -iname "skp-corr-*.txt" -exec sed -i "" "s/(Total: )(.*)(points)/Total: X \/ 31 points/g" {} \;

之前的示例文件: 总计: 4 / 22 点

之后的示例文件: 总计:x / 30 分

答案1

sed已经构建为使用正则表达式。

find ./ -iname "skp-corr-*.txt" -exec sed -i "s@Total:.*points@Total: X / 30 points@g" {} \;

对于 OS X,

find ./ -iname "skp-corr-*.txt" -exec sed -i "" -e "s@Total:.*points@Total: X / 30 points@g" {} \;

相关内容