2015-09-24 7 views
0

Я распаковал большую коллекцию документов и забыл отметить «сохранить структуру каталогов», поэтому теперь пытается удалить все эти файлы. Файлы находятся в папке «Мои файлы» без структур папок.использовать ls to rm список файлов

Я снова распаковал файл в другом месте и попробовал следующую команду, чтобы удалить плоские файлы.

for file in $(find . -type f -printf '~/Downloads/%f\n'); do rm $file; done 

Он говорит, что не может удалить файл, который не существует, но если скопировать путь он выплевывает в rm он находит и удаляет его в порядке.

rm: cannot remove `/home/macpherson/Downloads/SN74LS14N': No such file or directory 

Те же результаты с xargs

Любые идеи?

Спасибо Том

+0

Не могли бы вы привести несколько примеров того, как файлы организованы в архив и куда они попали в вашу локальную файловую систему? –

+0

В архиве они находятся в нескольких папках с возможно большим количеством подкаталогов. Они были извлечены до ~/Downloads без какой-либо структуры каталогов – holmeswatson

+0

Ну, это не совсем пример ... ;-) –

ответ

0

Extract тот же архив где-то (где вы можете безопасно удалить его впоследствии, если вы хотите). Затем используйте это, чтобы найти файлы, которые необходимо удалить:

find . -type f | sed -e 's/.*\//\/home\/macpherson\/Downloads\//' | xargs rm 
+0

спасибо! требуется дополнительные \/после загрузки. Также не уверен, что это будет работать с файлами с пробелами в их именах – holmeswatson