我只是想做一件简单的事情.我在目录中获得了以下文件:
AppInterface.h baa PEMsg.h PluginInterface.h
Run Code Online (Sandbox Code Playgroud)
然后我发出命令:
ls | grep -v ".h" | rm -rf
Run Code Online (Sandbox Code Playgroud)
令我沮丧的是,baa不会被删除.但是这个:
ls | grep -v ".h"
Run Code Online (Sandbox Code Playgroud)
baa按照我的预期给出.所以我猜问题是如何rm输入,但我不知道为什么.在csh和bash中试过这个.
rm不从stdin获取输入,因此您无法将文件列表传递给它.
你需要
rm `ls | grep -v ".h"`
Run Code Online (Sandbox Code Playgroud)
要么
ls | grep -v ".h" | xargs rm -rf
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2777 次 |
| 最近记录: |