Использование каналов для удаления всех вхождений файла Thumbs.db с ноутбука Ubuntu - PullRequest
3 голосов
/ 11 сентября 2010

У меня установлен ноутбук с Ubuntu 10.04. Я перенес некоторые из моих файлов с одного компьютера на этот компьютер. Но есть некоторые файлы, такие как файл Thumbs.db, от каждого случая которого я хочу избавиться.

Я пытался использовать

locate Thumbs.db | rm

Но dis не сработало (и явно не должно). Затем я попытался использовать следующее, но вполне ожидаемо, что ни один из них не сработал:

locate thumbs.db > rm
locate thumbs.db < rm

Как все здесь, возможно, указали, что мне трудно использовать конвейер, и я хочу просто прояснить свою концепцию, используя это в качестве примера. Я прочитал основы, но все еще не в состоянии интуитивно применить его.

Ответы [ 2 ]

9 голосов
/ 14 октября 2013

find уже имеет функцию удаления, поэтому никакие каналы не нужны:

find . -iname thumbs.db -delete

Это говорит об удалении всех файлов, соответствующих thumbs.db независимо от заглавных букв, рекурсивно из моего текущего рабочего каталога.

1 голос
/ 11 сентября 2010

Вы можете попробовать:

find /mnt/something -iname 'thumbs.db' -exec rm -v {} \;

или если вы действительно хотите использовать трубу, вы можете попробовать

find /mnt/something -iname 'thumbs.db' | xargs rm -v

-iname будет искать «Thumbs.db» и «thumbs.db». Проверьте человека для получения дополнительной информации.

изменить /mnt/something для вашего пути.

Edit:

Я думаю, вы также можете попробовать это:

find /mnt/someting -iname 'thumbs.db' | while read junk; do rm -v "$junk"; done

Должен работать с директориями, содержащими пробел в имени и т. Д.

...