是否有一个调用sedtodo的就地编辑功能,而不需要在Linux和Mac上运行的备份?虽然OSX附带的BSDsed似乎需要sed-i'…,但GNUsedLinux发行版通常将引号解释为空输入文件名(而不是备份扩展名),而需要sed-i…
是否有任何命令行语法可用于这两种风格,以便我可以在两个系统上使用相同的脚本
如果您真的想以“简单”的方式使用sed-i,那么以下内容对GNU和BSD/Macsed都有效:
sed-i.bak的/foo/bar/”文件名
请注意缺少空格和圆点
证明:
#GNU-sed
%sed——版本| head-1
GNU sed版本4.2.1
%回音“foo”>;文件
%sed-i.bak's/foo/bar/'/文件
%ls
file.bak
%目录/文件
酒吧
#BSD sed
%sed——第2版>&;1 |头-1
sed:非法选项---
%回音“foo”>;文件
%sed-i.bak's/foo/bar/'/文件
%ls
file.bak
%目录/文件
酒吧
显然,您可以删除.bak文件