w2l*_*ame 3 ubuntu pipeline pipe
我有一台安装了Ubuntu 10.04的笔记本电脑.我将部分文件从一台计算机迁移到此计算机.但有一些文件,如Thumbs.db文件,我想要摆脱每一次出现.
我试过用
locate Thumbs.db | rm
Run Code Online (Sandbox Code Playgroud)
但是dis没有成功(显然它不应该).然后我尝试使用以下,但很可能没有一个成功:
locate thumbs.db > rm
locate thumbs.db < rm
Run Code Online (Sandbox Code Playgroud)
正如大家在这里,可能已经指出我很难使用管道,并希望以此为例清除我的概念.我已经阅读了基础知识,但仍无法在原语中应用它.
find 已经有删除功能,因此不需要管道:
find . -iname thumbs.db -delete
Run Code Online (Sandbox Code Playgroud)
这表示thumbs.db从我当前的工作目录中递归删除所有匹配的文件,而不管大小写.
您可能想尝试:
find /mnt/something -iname 'thumbs.db' -exec rm -v {} \;
Run Code Online (Sandbox Code Playgroud)
或者如果你真的想使用管道你可能想尝试
find /mnt/something -iname 'thumbs.db' | xargs rm -v
Run Code Online (Sandbox Code Playgroud)
-iname将搜索“Thumbs.db”和“thumbs.db”。检查 man 以获取更多信息。
改变/mnt/something你的道路。
编辑:
我想你也可以尝试一下:
find /mnt/someting -iname 'thumbs.db' | while read junk; do rm -v "$junk"; done
Run Code Online (Sandbox Code Playgroud)
它应该适用于名称中包含空格等的目录。