удалите изображения из папки

Я хочу удалить все фотографии из папки и сохранить остающиеся файлы. Я искал в сети, и я нашел тонны решений как:

find . -type f -name "*.jpg" -delete

Все фотографии являются jpeg, да, но основная проблема состоит в том, что названия фотографии не заканчиваются своим расширением ".jpg".

Кто-либо мог помочь мне?

2
задан 14 June 2015 в 03:14

3 ответа

это должно сделать

for i in *; do 
    TESTRESULT=$(file --mime-type -b "$i"); 
    if [ "$TESTRESULT" == "image/jpeg" ]; then 
        echo "$i"; 
    fi;
done

, Если это печатает желаемые файлы, замените echo "$i" rm "$i"

3
ответ дан 2 December 2019 в 01:59

Вот сценарий для удаления всех изображений:

userX@ubuntu:~$ cat removeImages.sh 
#!/bin/bash
path=/home/userX/Downloads/*;
for file in $path
do
  fileInfo=`file "$file" |awk -F: '{print $2}'`
  if [[ $fileInfo =~ .*image.* ]]; then echo "Removing: " $file; rm $file; fi
done

Вы используете вторую часть вывода файла file "$file" и ищете image ключевое слово в нем, и затем удаляете текущий файл в цикле.

, Если Вы также хотите удалить битовые массивы:

userX@ubuntu:~$ cat removeImages.sh 
#!/bin/bash
path=/home/userX/Downloads/*;
for file in $path
do
  fileInfo=`file "$file" |awk -F: '{print $2}'`
  if [[ $fileInfo =~ .*image.*]] || [[$fileInfo =~ .*bitmap.* ]]; 
  then echo "Removing: " $file; rm $file; fi
done
1
ответ дан 2 December 2019 в 01:59

Хорошо я нашел решение:

Попытка эта команда

find . -name "*.jpg" -delete

я попробовал это на Xubuntu 14.04, и это хорошо работало. Я надеюсь, что это помогает!

я знаю, что это подобно Вашему примеру, но пример, который Вы дали, не работал на меня. Но это - более простой один лайнер.

1
ответ дан 2 December 2019 в 01:59

Другие вопросы по тегам:

Похожие вопросы: