git - 防止 sed 在文件末尾添加换行符

标签 git bash sed

我有一个大型项目,我想使用以下命令替换模块名称:

查找 app/-type f -exec sed -i '' 's/Foo/Bar/g' {} +

这很好用,但 sed 还会在所有文件的末尾添加换行符(即使它找不到任何要替换的 Foo)。

如何防止 sed 添加这些换行符?

我在 OSX 上,使用 BSD 版本的 sed。

(郑重声明,我非常同意这里的 sed,但我不想污染项目的 git 历史。)

最佳答案

Perl 来拯救:

perl -i -pe 's/Foo/Bar/g'

Perl 不添加换行符。

关于git - 防止 sed 在文件末尾添加换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38354725/

相关文章:

git - 将 Notepad++ Compare 设置为 git 中的 diff 工具?

Git 已安装,但 .git 目录不存在,所以我无法配置它

bash 测试产生 "echo: command not found"

linux - 在特定时间戳之间解析文件内容

linux - 使用 Bash 逐行编辑文本

Git:重命名标签保持原始日期

git - 删除完整的 Git 历史而不删除存储库?

java - 有没有一种方法可以使用 Cygwin 运行 shell 脚本并对 java 命令使用正确的路径分隔符

bash - Docker运行/星/执行?

linux - 如何在 linux 环境中的 bashrc 中包含路径