在写makefile的过程中,clean中需要删除编译过程中产生的 .o 文件
查找文件 find [目录名] -name
find obj -name '*.o'
find obj -name "*.o"
find obj -name *.o
find obj -type f|grep .o$
以上四种测试都可行,日后再琢磨有啥区别
“并删除”有两种方式:
1. 用find命令的 -exec 选项
find obj -name *.o -type f -exec rm -f {} \;
2. 用xargs
find obj -name *.o | xargs rm -f
find obj -type f | grep .o$|xargs rm -f
最后一个,如果要写入 makefile,要写成
find obj -type f | grep .o$$|xargs rm -f
因为 $ 在makefile中是特殊字符
不过,最终为了可以在删除前可以把文件名打印一遍以防止删错文件而不知道,最终决定选用
find obj -type f -name '*.o' -print -exec rm -f {} \;
至于后一种写法能不能也实现这样的效果,如果有朋友看到,希望可以告诉下我,多谢了。我猜测可以用echo吧