公司的一个网站从.Net迁移到了WordPress,最近接到很多琐碎的工作,其中之一就是做大量的301跳转。扔过来一个Excel文件,自然先导出成csv。然后基本是用sed做替换,把一个类似
"http://xxx.com/abc/def","http://xxx.com/ghi/jkl",,,
转化成Nginx重新规则
location /abc/def { return 301 http://xxx.com/ghi/jkl; }
要做的事情很简单,不是本文要讲的东西。但是又碰到了一个Mac OS和Linux下差异的坑: 两个sed,使用起来不是很一样。
比如直接修改文件,我熟知的办法(linux下)是这样的
sed -i 's/,,,//' filename
可惜偏偏Mac OS下,要多个参数
sed -i '' 's/,,,//' filename
这点小事,要记住两个manual是不科学的,人生苦短,日子还过不过?思考了0.1秒,我决定替换掉Mac OS下的sed
brew真乃神器, 一个命令按照gnu sed,再配置路径,解决之。
$ brew installgnu-sed $ echo 'PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"' >> ~/.bash_profile
参考:http://daoyuan.li/a-normal-sed-on-mac/