Linux命令组合 -- 将make all 编译错误信息重定位到管道输出

1.命令

leon$ make clean && make all  2>&1 | grep "error"
2016-10-10 18:49:36 (nvc-communication)==>|| INFO : Clean project nvc-communication ...
rm -rf ./build/objs/* ./build/lib/* ./build/bin/*
2016-10-10 18:49:36 (nvc-communication)==>|| INFO : Clean project nvc-communication success!
src/network/misc/nv_net_udp.c:17: fatal error: nv_net_tools.h: No such file or directory

2.拓展命令

leon$ make clean && make all  2>&1 | grep "error" | xargs | sed -r 's/.*error\:(.*)\:.*/\1/' | sed s/[[:space:]]//g 
2016-10-10 18:51:44 (nvc-communication)==>|| INFO : Clean project nvc-communication ...
rm -rf ./build/objs/* ./build/lib/* ./build/bin/*
2016-10-10 18:51:44 (nvc-communication)==>|| INFO : Clean project nvc-communication success!
输出结果:

nv_net_tools.h

3.对结果进行转义

leon$  make clean && make all  2>&1 | grep "error" | xargs | sed -r 's/.*error\:(.*)\:.*/\1/' | sed s/[[:space:]]//g | sed 's/\./\\\./g'
2016-10-10 18:52:58 (nvc-communication)==>|| INFO : Clean project nvc-communication ...
rm -rf ./build/objs/* ./build/lib/* ./build/bin/*
2016-10-10 18:52:58 (nvc-communication)==>|| INFO : Clean project nvc-communication success!
输出结果:
nv_net_tools\.h

4.终极命令 (实验未成功)

期望:解决编译遇到的错误。

for i in `find ./src/network -maxdepth 3 -type f | grep "\.c"`; do sed -i '/'$(make clean && make all  2>&1 | grep "error" | xargs | sed -r 's/.*error\:(.*)\:.*/\1/' | sed s/[[:space:]]//g | sed 's/\./\\\./g')'//d' $i ; done
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值