文档章节

MAC sed -i 报错

donghongya2011
 donghongya2011
发布于 2014/10/31 16:28
字数 568
阅读 173
收藏 0

苹果的文档比起MSDN或者JDK的注释那是太垃圾了,我就几乎没有遇到过没有错误的情况,这还是在我根本不深入的情况下,没有代码sample相比都根本不算问题。

比如我sed想做文件原地的替换,但是怎么写都出错,错误提示还莫名其妙,后来多方搜索才知道Mac上的sed如果参数有-i就必须加上备份指令,即-i后添加任意字符,那些字符就作为备份文件的后缀名, 可耻的man上却写得好像是可选的一样。

烦人的是即使sed没有做替换它还是会备份文件,相当的浪费。

 

这几天利用shell处理问题真是相当开眼界了,不愧是Unix系统的精髓,就像现在有一个需求,要把不同文件里的文件占位符替换成该文件的文件名,编程的话应该说还是挺烦的,但shell就简单了,代码引自这里

Shell代码  收藏代码

  1. for file in path;do  

  2. sed -i.bak "s/__FILE__/${file}/g" $file;  

  3. done  

  还好后来又获得了新的替代方法,看形式似乎就是用空的备份文件名一样

Shell代码  收藏代码

  1. sed -i '' 'sed expression' file_name  

-i 选项后面是两个单引号,单引号里面什么都没有, -i 和第一个单引号之间必须有一个空格

 感谢cu热心网友 提供

 

如果要做批量替换当然也有很多帖子了,常见的一种情况是

Shell代码  收藏代码

  1. sed -i '' "s/__IFAST__COMPANY__/company/g" `grep __IFAST__COMPANY__ -rl /Users/sunmin/Documents/vcv/`  

 小心grep前后的不是单引号而是1左边那个键,否则会出现找不到路径的错误,估计是shell的常事,否则也不会困扰我半天了,问题在这里 解决的。


转载:http://bukkake.iteye.com/blog/829516


本文转载自:http://bukkake.iteye.com/blog/829516

donghongya2011
粉丝 1
博文 6
码字总数 0
作品 0
浦东
私信 提问
mac自带的sed和linux表现不一致, 需要安装gnu-sed

1.本来想把逗号替换成换行,结果不行。 $echo "a,b,c,d" |sed 's/,/n/g' anbncnd 网上查了一下,原来是mac的sed对n的处理和linux不一样, 详见:http://superuser.com/questions/307165/newl......

孟飞阳
2018/06/06
163
0
Sed、Awk和grep 学习笔记(一)

一 Sed 命令 命令格式: sed [-nefi] '[动作]' [filename] 参数: -n 安静模式,只显示sed处理的那一行。 -e 多重编辑,可以同时执行多个动作。sed -e '1d' -e '1a ttt' -f 将sed动作写入脚本,......

yw天天向上
2018/07/02
0
0
关于shell下sed正则匹配中文的疑难杂症

在shell下我用sed想把一个文件的中文汉字替换为空,刚开始我寻思着用sed 's/[\u4e00-\u9fa5]//g' file1去执行,但是报错,信息如下: [root@lsp config]# sed 's/[\u4e00-\u9fa5]//g' file1 ......

pyruby
2013/11/01
6K
0
Mac OS X 使用命令sed替换tab

使用Mac OSX上的sed的时候,如果想替换tab这个特殊字符,会出现很多奇奇怪怪的问题。当很很多其他也一样,有时候用Mac上的命令就是蛋疼蛋疼。这个问题有很多问法,我们暂且把它转化为如何在M...

laiconglin
2013/11/19
1K
0
Shell正则四剑客 | sed命令

sed简介 sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲...

寰宇01
2018/10/28
41
0

没有更多内容

加载失败,请刷新页面

加载更多

kibana汉化

kibana5 / 6 需要下载补丁包,https://github.com/anbai-inc/Kibana_Hanization 其中 v6 版本原生支持国际化,只需要添加资源文件并且配置即可 kibana7 v7版本官方内置汉化资源,在配置文件 ...

细肉云吞
18分钟前
5
0
spring boot 自定义日志 log4j2

使用默认的日志在实际开发中会存在很多问题,比如备份文件名称无法自动重命名、各个等级的日志被放在一个文件中等,所以实际开发中为了更好满足我们的需求,我们一般都会自定义采用配置的方式...

雷开你的门
22分钟前
7
0
PCB设计-Allegro软件入门系列-设计参数配置(上)

前言 经历了导入网表,和放置器件后,我们就要画板子了,但是必要的设计参数也要先准备好,磨刀不误砍柴工。 《一》显示参数 这里主要设置DRC报错标志大小和飞线显示类型 (1)DRC标志可以适当...

demyar
23分钟前
6
0
js实现微博、微信分享

html <!-- 分享 --><div class="share-box"> <b style="vertical-align: middle;">分享到:</b> <a title="分享到新浪微博" class="shareSina"><span class="share-icon"></span><......

张兴华ZHero
39分钟前
7
0
创龙TMS320DM8168浮点DSP C674x + ARM Cortex-A8的CPU、NAND FLASH、NOR FLASH

TL6678-EasyEVM是广州创龙基于SOM-TL6678核心板而研发的一款多核高性能DSP开发板。开发板采用核心板+底板方式,底板采用沉金无铅工艺的四层板设计,尺寸为200mm*106.65mm,它为用户提供了SOM...

Tronlong创龙
42分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部