本文介绍了为什么犯规RM不工作,我期望在这里?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我只想做一个简单的事情。我有一个目录下面的文件:

I just want to do a simple thing. I got the following files in a directory:

AppInterface.h  baa  PEMsg.h  PluginInterface.h

然后我发出命令:

Then I issue the command:

ls | grep -v ".h" | rm -rf

但令我失望的是,不会被删除。但是,这样的:

Much to my dismay, baa does not get deleted. But, this:

ls | grep -v ".h"

如我所料。所以我想这个问题是如何 RM 需要输入,但我不知道为什么。无论在csh和bash尝试这个。

gives baa as I expect. So I guess the problem is with how rm takes input but I don't know why. Tried this both in csh and bash.

推荐答案

RM并不需要从标准输入所以你不能管的文件列表吧。

rm doesn't take input from stdin so you can't pipe the list of files to it.

您需要

 rm `ls | grep -v ".h"`

ls | grep -v ".h" | xargs rm -rf

这篇关于为什么犯规RM不工作,我期望在这里?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-23 13:11