您的位置:首页 > 其它

Sed是个好东西

2016-01-08 19:26 253 查看
今天遇到的源码使用了变态的宏,直接对参数进行宏处理,使得我的vim插件几乎全废,只能想办法将宏给替换进去。

#!/bin/bash

find  . -type f -name '*.c' | xargs sed -i 's/.P1(\(.*\),\(.*\))/(\1 \2)/g'

find  . -type f -name '*.c' | xargs sed -i 's/.P2(\(.*\),\(.*\),\(.*\),\(.*\))/(\1 \2,\3 \4)/g'

find  . -type f -name '*.c' | xargs sed -i 's/.P3(\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\))/(\1 \2,\3 \4,\5 \6)/g'

find  . -type f -name '*.c' | xargs sed -i 's/.P4(\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\))/(\1 \2,\3 \4,\5 \6,\7 \8)/g'

find  . -type f -name '*.c' | xargs sed -i 's/.P5(\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\))/(\1 \2,\3 \4,\5 \6,\7 \8,\9 \10)/g'

find  . -type f -name '*.c' | xargs sed -i 's/.P6(\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\))/(\1 \2,\3 \4,\5 \6,\7 \8,\9 \10,\11 \12)/g'

find  . -type f -name '*.c' | xargs sed -i 's/.P7(\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\),\(.*\))/(\1 \2,\3 \4,\5 \6,\7 \8,\9 \10,\11 \12,\13 \14)/g'

# 去掉PROT
find  . -type f -name '*.c' | xargs sed -i 's/PROT((\(.*\)))/(\1)/g'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: