我正在使用此命令来查找和替换文件中的字符串。
find . -name "dog.*" -exec sed -i "s/dog/cat/Ig" {} +
对于精确的大小写匹配它工作正常,但我希望它不区分大小写。我使用了I
,但似乎没有用。我怎样才能解决这个问题?我只是希望能够使用简单的单线替换字符串。这些文件的名称是具有不同扩展名的dog,无论大小写,我都希望用cat替换所有dog事件。
更新:我已经尝试使用小写和大写I
,但是仍然无法正常工作。我也尝试过使用gsed。
我刚刚意识到我想知道可能是此问题的根本原因。它不进行替换的情况是当我的关键字是字符串的一部分时。它将替换dog的所有实例,但是如果有类似dog_food
的东西,它将不进行替换。