![]() | 1 kailuo 2010-08-14 00:20:02 +08:00 Automator 做不了? |
![]() | 2 chuangbo 2010-08-14 00:23:34 +08:00 sed -i "s/xxx/xxxx/g" somedir/* 或者 awk 脚本 |
![]() | 3 lin OP |
![]() | 4 chuangbo 2010-08-14 01:01:22 +08:00 无关,那个/是sed参数之间的间隔 sed -i "s/V2EX/{{ site_name }}/g" somedir/* |
![]() | 5 lin OP @chuangbo 可是有些地方我想保留“V2EX”。我只是要把部分硬链接(是不是叫这个名字?)变软。 我好奇。假如: sed -i "s/<a href="/">V2EX</a>/<a href="/">{{ site_name }}</a>/g" tpl/* 它怎么知道我的引号和"/"该在什么时候闭合?需要用到(那叫什么来着?)转义符(是这个名字吗?)吗? 谢谢! |
![]() | 6 chuangbo 2010-08-14 01:06:48 +08:00 我都是这么替换的,如果一个文件夹内可能在任何层级的任何子目录的任何文件都有可能包含 somefile.v5.js 或者 somefile.v9.js 我需要全部换成 somefile.v19.js 那么 egrep "somefile\.v\d+\.js" -Ir * | xargs -I '{}' sed -i "s/somefile.v..js/somefile.v19.js/g" 其中,egrep负责递归找出包含有这行的文件,然后xargs对上一结果的每一行执行sed命令,sed命令负责替换 更复杂的话还是要写awk脚本了 |
![]() | 7 chuangbo 2010-08-14 01:08:08 +08:00 最外层用单引号 :) |
![]() | 8 chuangbo 2010-08-14 01:09:01 +08:00 引号可以把最外层改为单引号解决 /可以用\/转义 |
![]() | 9 ninjai 2010-08-14 01:10:47 +08:00 dreamweaver之类的富文本编辑器,支持正则表达式 |
![]() | 10 chuangbo 2010-08-14 01:11:08 +08:00 sed 's/<a href="\/">V2EX<\/a>/<a href="\/">{{ site_name }}<\/a>/g' somedir/* |
![]() | 12 Livid MOD PRO ![]() TextMate CMD+SHIFT+F |