【发布时间】:2019-06-10 01:15:34
【问题描述】:
我想删除目录中的所有文件,但 UNIX 中的一些文件除外。我想要的文件有一个已知的名称,而另一部分,我正在使用 ls|grep 命令。但是 ls | grep 仅在出现一次而不是在多次出现时起作用。与 find|grep 相同。这是我的命令:
rm -v !("R1.r"|"R2.r"|"r2.par"|$(ls|grep nario)|"sh.sh")
rm -v !("R1.r"|"R2.r"|"r2.par"|$(find|grep nario)|"sh.sh")
我的命令有问题吗???
【问题讨论】:
-
您的
ls | grep与*nario*的作用相同;那是你的意图吗?你提到“包含”——我想知道你是不是指ls | xargs grep -l nario /dev/null(如果xargs运行的命令行之一中只有一个文件,那么提到/dev/null可以防止出现问题)。请注意,通常最好避免过滤来自ls的输出。\