在mac osx lion中sed来进行文件内容的替换操作,使用命令为:
sed -i 's/oldstring/newstring/g' full-path-file
执行后提示出错,错误信息为:“sed: 1: command a expects \ followed by text”,但是相同的命令拿到centos下确能执行成功。 使用man查看命令的参数详细说明,两个系统下对参数“i”的要求不一样。
mac osx中为:
-i extension
Edit files in-place, saving backups with the specified extension. If a zero-length extension is given, no backup will be saved.
It is not recommended to give a zero-length extension when in-place editing files, as you risk corruption or partial content in situations where disk space is exhausted, etc.
centos中为:
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if extension supplied)
参数“i”的用途是直接在文件中进行替换。为防止误操作带来灾难性的后果,sed在替换前可以自动对文件进行备份,前提是需要提供一个后缀名。从上面对参数“i”的详细说明中可以看到,mac osx下是强制要求备份的(当然也可以使用空字符串来取消备份),但centos下是可选的。
如果不需要备份文件,mac osx下可以使用如下命令完成替换操作:
sed -i '' 's/oldstring/newstring/g' full-path-file
例子:
cd /tmp
echo "netingcn.com" > sed_test.txt
cat sed_test.txt
sed -i '' 's/netingcn/www\.netingcn/g' sed_test.txt
cat sed_test.txt
rm -rf sed_test.txt
cd -
转:http://www.netingcn.com/mac-osx-sed-command-expects-followed-by-text.html
分享到:
相关推荐
sed命令下批量替换文件内容 格式: sed -i “s/查找字段/替换字段/g” `grep 查找字段 -rl 路径` 文件名 -i 表示inplace edit,就地修改文件 -r 表示搜索子目录 -l 表示输出匹配的文件名 s表示替换,d表示删除 示例:...
linux下perl,sed,shell批量替换文件内容.docx
通过shell调用sed命令实现对配置文件的替换操作,主要实现对linux、uboot、buildroot相关的配置文件中版本、分支、URL替换,可以自定义想替换的内容。
反向代理强制替换删除内容,适用windows64和32位操作系统
windows下cmd程序sed命令所需文件,记得配环境变量
一般 sed 最常用在编辑那些需要不断重覆某些编辑动作的文件上 , 例如将文件中的某个字串替换成另一个字 串等等。这些相较於一般 UNIX 编辑器(交谈式的, 如 vi、emacs)用手动的方式修改文件 , sed 用起来较省力。
Linuxsed批量替换字符串方法.pdf
sedsed工具。可以使用sedsed -d +sed命令进行sedsed的测试。 将文件拷贝到/usr/bin路径下即可,也可以在linux本地使用./sedsed -d +command
sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一...
很详细的关于linux sed的用法,每种用法都有详细的举例。
sed匹配成功后,打印所在行的内容是比较简单。但是要输出某行匹配内容,而不是整行内容。
sed是linux命令,用于处理文件内容(修改,替换等),mac中都可以使用,但发现相同的替换命令在linux可以正常执行,在mac则执行失败。 出错原因 用shell写了个更新Config/Config.php版本的脚本,代码如下: #!/bin/...
sed 用法sed 用法sed 用法sed 用法sed 用法
1.zip 开发完整的sed文件的制作的方式 id= fs-lsdzj 1.zip
sed功能非常强大,更方便对程序的执行,实现更多无法实现的功能。
它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。 sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存...
sed很强大的文本操作命令
sed操作命令手册.pdf
SED单行脚本快速参考(Unix 流编辑器) sed命令使用说明
本篇文章主要介绍了linux下批量替换文件内容的三种方法(perl,sed,shell),具有一定的参考价值,感兴趣的小伙伴们可以参考一下。