我有一个包含以下内容的目录:
x.pdf
y.zip
z.mp3
a.pdf
Run Code Online (Sandbox Code Playgroud)
我想删除除x.pdf和之外的所有文件a.pdf。我如何从终端执行此操作?没有子目录,所以不需要任何递归。
我注意到我安装了几个不需要的语言环境,例如firefox-locale-. 我只需要一种语言环境。
如何删除所有其余的?
我需要删除所有扩展名为 .gif 的文件,除了一个名为“filename.gif”的文件。在终端中执行此操作的最佳方法是什么?
命令 rm*.gif删除所有 gif 文件,包括文件filename.gif.
我想从目录中删除所有文件,除了一个。我在这里找到了我的解决方案。此解决方案正在使用命令
shopt -s extglob
Run Code Online (Sandbox Code Playgroud)
我想知道这个命令到底在做什么,一些后端知识。我还对这个答案添加了评论,但直到现在还没有得到回复。作为 Ubuntu 的新用户,我很想知道这个命令在做什么。
我有一个文件夹,其中包含许多文件夹和具有以下结构的不同文件:
NASA
?
??? a
? ??? doc1
? ??? doc2
? ??? doc3
? ??? folder1
? ??? folder2
?
??? b
? ??? doc1
? ??? doc2
? ??? doc3
? ??? folder1
? ??? folder2
?
??? c
? ??? doc1
? ??? doc2
? ??? doc3
? ??? folder1
? ??? folder2
?
?? x
?? y
?? z
Run Code Online (Sandbox Code Playgroud)
我想删除NASA/除指定文件夹和文件之外的文件夹 ( )的内容。
例如我想保留a文件夹、b文件夹和x文件。
我试过这个解决方案 :
rm !(a/) …Run Code Online (Sandbox Code Playgroud) 使用rm *text*您可以删除所有包含特定字符串的文件。我将如何使它删除除具有特定通配符的文件之外的每个文件?
我尝试使用我发现的其他东西,例如:
find . -type f -print0 | xargs --null grep -Z -L 'text' | xargs --null rm
Run Code Online (Sandbox Code Playgroud)
或者
grep -r -L -Z 'text' . | xargs --null rm
Run Code Online (Sandbox Code Playgroud)
但这些不起作用。相反,他们正在删除给定目录中的所有文件。
我怎么能这样做?
我有一个由另一个用户填写的目录,我的任务是维护它。我想删除除具有特定名称的 2 个文件之外的所有内容。是否有可能rm或我应该这样做:
cp aaa/a ./a && cp aaa/b ./b && rm -rf aaa/* && mv ./a aaa/a && mv ./b aaa/b
Run Code Online (Sandbox Code Playgroud)
aaa目录在哪里,a,b我要保留的文件在哪里,那里还有(至少,可能有)其他文件/目录。
有更好(更短)的方法吗?