在mac(Bsd)和linux上工作的sed就地标记。是否有调用sed没有备份的TODO就地编辑工作在linux和mac上?而BSDsed随OSX发货似乎需要sed -i '' …,GNUsedLinux发行版通常会将引号解释为空输入文件名(而不是备份扩展名),并且需要sed -i …相反。是否有适用于这两种类型的命令行语法,所以我可以在两个系统上使用相同的脚本?
3 回答
慕姐8265434
TA贡献1813条经验 获得超2个赞
sed -i
sed
:
sed -i.bak 's/foo/bar/' filename
# GNU sed % sed --version | head -1 GNU sed version 4.2.1 % echo 'foo' > file % sed -i.bak 's/foo/bar/' ./file % ls file file.bak % cat ./file bar # BSD sed % sed --version 2>&1 | head -1 sed: illegal option -- - % echo 'foo' > file % sed -i.bak 's/foo/bar/' ./file % ls file file.bak % cat ./file bar
.bak
MYYA
TA贡献1868条经验 获得超4个赞
brew install gnu-sed --with-default-names
安装gnu-sed后按指示更改路径。 根据系统的不同,签入要在gsed或sed之间选择的脚本。
- 3 回答
- 0 关注
- 456 浏览
添加回答
举报
0/150
提交
取消