удаление ф. с одинаковым расширением (Практическая задача:есть флешплайер ,)

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
trendix
Сообщения: 250
Статус: кромешный
ОС: debian

удаление ф. с одинаковым расширением

Сообщение trendix »

Ubuntu 10.04
так вот flashplayer не воспроизводит муз.ф. если вместе с ними в каталоге есть не музык файлы ,папки.
Нужно их удалить ,не лазить же по 15-20 папкам и удалять от 3-12 файло .ipg .cue и тп.
Куда все пропали?? Да и кушать хочется!!
Спасибо сказали:
Аватара пользователя
zombie
Сообщения: 539
ОС: Ubuntu 10.04 with OpenBox

Re: удаление ф. с одинаковым расширением

Сообщение zombie »

trendix писал(а):
10.07.2010 21:07
в каталоге есть не музык файлы ,папки.
Нужно их удалить ,не лазить же по 15-20 папкам и удалять от 3-12 файло .ipg .cue и тп.
Ничего кроме этого я не понял, но на это отвечу:

Код: Выделить всё

find | grep -v -f <(find -name "*.mp3") #Это выводит список файлов, которые вам надо удалить

Вроди-бы что-бы их сразу удалить надо find | grep -v -f <(find -name "*.mp3") | rm, но у меня это почему-то не выходит (да, я еще слабоват в совмещении команд)
И, конечно, это только на случий если вся музыка - mp3, если это не так измените.
ЛИНУКСФОРУМ ДЛЯ ЛЮДЕЙ | Гугляшечка | Блог
I'm banned by /dev/random with his team.
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: удаление ф. с одинаковым расширением

Сообщение NickLion »

передать надо в

Код: Выделить всё

| xargs -d'\n' rm


PS а вообще find имеет -delete
что-то вроде такого:

Код: Выделить всё

find . -regextype posix-extended \! -iregex '.*\.(mp3|ogg|wma)$' -delete
Спасибо сказали:
reji
Сообщения: 81

Re: удаление ф. с одинаковым расширением

Сообщение reji »

Не понял про флешплейер и мп3-шки, но если надо почистить каталог, удалив все не мп3-файлы, то можно попробовать так:

Код: Выделить всё

find /путь/до/файлов ! -iname '*.mp3' -type f -delete

И затем удалить пустые каталоги:

Код: Выделить всё

find /путь/до/файлов -type d -empty -delete

Только острожней, не удалите что-нибудь нужное. Сделайте резервную копию, или запускайте команды без "-delete", чтобы увидеть какие файлы find находит.

Стоп, а с чего я взял, что там только mp3? Не пойдет.
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: удаление ф. с одинаковым расширением

Сообщение t.t »

Да вообще задача недостаточно чётко обрисована. Файлы с какими «расширенями» нужно удалить? Или наоборот, с какими оставить?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
zombie
Сообщения: 539
ОС: Ubuntu 10.04 with OpenBox

Re: удаление ф. с одинаковым расширением

Сообщение zombie »

t.t писал(а):
11.07.2010 09:15
Да вообще задача недостаточно чётко обрисована. Файлы с какими «расширенями» нужно удалить? Или наоборот, с какими оставить?
А что, человек сам не сможет подставить нужные расширения?
ЛИНУКСФОРУМ ДЛЯ ЛЮДЕЙ | Гугляшечка | Блог
I'm banned by /dev/random with his team.
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: удаление ф. с одинаковым расширением

Сообщение t.t »

zombie писал(а):
11.07.2010 10:00
t.t писал(а):
11.07.2010 09:15
Да вообще задача недостаточно чётко обрисована. Файлы с какими «расширенями» нужно удалить? Или наоборот, с какими оставить?
А что, человек сам не сможет подставить нужные расширения?
Например, если «нужное» «расширение» одно, то решение уже приведено парой постов выше. А если их несколько, то его нужно немного доработать.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
zombie
Сообщения: 539
ОС: Ubuntu 10.04 with OpenBox

Re: удаление ф. с одинаковым расширением

Сообщение zombie »

Решение и в случае нескольких расширений уже дали:
NickLion писал(а):
10.07.2010 22:39
find . -regextype posix-extended \! -iregex '.*\.(mp3|ogg|wma)$' -delete

ЛИНУКСФОРУМ ДЛЯ ЛЮДЕЙ | Гугляшечка | Блог
I'm banned by /dev/random with his team.
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: удаление ф. с одинаковым расширением

Сообщение t.t »

zombie писал(а):
10.07.2010 22:29
trendix писал(а):
10.07.2010 21:07
в каталоге есть не музык файлы ,папки.
Нужно их удалить ,не лазить же по 15-20 папкам и удалять от 3-12 файло .ipg .cue и тп.
Ничего кроме этого я не понял, но на это отвечу:

Код: Выделить всё

find | grep -v -f <(find -name "*.mp3") #Это выводит список файлов, которые вам надо удалить

Вроди-бы что-бы их сразу удалить надо find | grep -v -f <(find -name "*.mp3") | rm, но у меня это почему-то не выходит (да, я еще слабоват в совмещении команд)
Следуя Вашей просьбе в другой теме, укажу на конкретные ошибки (про xargs опускаю: это Вы уже в той теме поправили):
1. Такой конвейер выдаст в т.ч. и текущий каталог. В данном случае это приведёт лишь к сообщению об ошибке; а если бы rm нужно было использовать с -r?
2. Могут отфильтроваться и лишние файлы. Пример:

Код: Выделить всё

$ cd ~/tmp
$ touch 1.mp3 12mp34.txt 2.tmp
$ find | grep -vf <(find -name "*.mp3")
.
./2.tmp

3. Если имена файлов содержат спецсимволы, такие имена могут не отфильтроваться:

Код: Выделить всё

$ rm *
$ touch 'get *ready*.mp3' 'Song [solo].mp3'
$ find | grep -vf <(find -name "*.mp3")
.
./get *ready*.mp3
./Song [solo].mp3

4. А могут и привести к ошибкам:

Код: Выделить всё

$ touch 'Song [solo.mp3'
$ find | grep -vf <(find -name "*.mp3")
grep: Unmatched [ or [^

5. Не говоря уже о том, что сам этот приём — грепанье результатов find по результатам find — многое говорит о Вашей квалификации.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
zombie
Сообщения: 539
ОС: Ubuntu 10.04 with OpenBox

Re: удаление ф. с одинаковым расширением

Сообщение zombie »

Убедили. Ошибки есть. Извиняюсь.
ЛИНУКСФОРУМ ДЛЯ ЛЮДЕЙ | Гугляшечка | Блог
I'm banned by /dev/random with his team.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: удаление ф. с одинаковым расширением

Сообщение drBatty »

trendix писал(а):
10.07.2010 21:07
так вот flashplayer не воспроизводит муз.ф. если вместе с ними в каталоге есть не музык файлы ,папки.
Нужно их удалить ,не лазить же по 15-20 папкам и удалять от 3-12 файло .ipg .cue и тп.


1) поставьте нормальный плеер, например audocious отображает треки как треки, а картинки как картинки.

2) удалить конечно можно, но лично мне - жалко. Я в таком случае (при таком плеере) поступил-бы так: создал-бы каталог для музыки, а потом ткда-бы перекинул все mp3. Точнее не перекинул, а создал-бы на них хардлинки, что-бы место не занимали. Получилось-бы 2 каталога - один с mp3, а второй с музыкой. Ну что-то типа
find ~/music -iname "*.mp3" -exec ln {} ~/music_for_player \;
конечно, перед этой командой следует переименовать треки вида 01.mp3 в имя_альбома_имя_трека.mp3
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
trendix
Сообщения: 250
Статус: кромешный
ОС: debian

Re: удаление ф. с одинаковым расширением

Сообщение trendix »

Да,действительно,задача нечеткая.
Имется каталог с подкаталогами,последние-это музыкальные альбомы скачанные с трекера и имеют в своем составе
некоторые.ape, другие .flac,треьи .mv,четвертые .m4a файлы,а также папки atwork,extras и др, и файлы .jpg, .cue, .log, txt, .ffp, .md5, .st5. Вот и нужно удалить не музыкальные объекты,чтобы затем закачать этот каталог в физический флешплйер
(китайского производства!!) А в системе у меня deadbeef и rhithmbox.
Куда все пропали?? Да и кушать хочется!!
Спасибо сказали:
Аватара пользователя
zombie
Сообщения: 539
ОС: Ubuntu 10.04 with OpenBox

Re: удаление ф. с одинаковым расширением

Сообщение zombie »

trendix писал(а):
11.07.2010 20:20
китайского производства!!
Почти все (98%), что продается в России сейчас китайского производства. это для вас новость?
ЛИНУКСФОРУМ ДЛЯ ЛЮДЕЙ | Гугляшечка | Блог
I'm banned by /dev/random with his team.
Спасибо сказали:
Аватара пользователя
trendix
Сообщения: 250
Статус: кромешный
ОС: debian

Re: удаление ф. с одинаковым расширением

Сообщение trendix »

Я это воспринимаю как агонию темы.
Куда все пропали?? Да и кушать хочется!!
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: удаление ф. с одинаковым расширением

Сообщение allez »

Данная тема избита и практически мертва уже много лет, поэтому агонизировать уже в принципе не может. :)
Вы, мягко говоря, не первый, кто ставит перед собой подобную задачу и просит помощи в ее решении. ;)

Задача же эта имеет несколько решений.

Первое и самое лаконичное - man find. :)

Второе - для тех, кто любит наводить чистоту и порядок: скопировать на плейер все файлы и удалить ненужные. Как это сделать, вам уже рассказали.

И третье решение, обратное второму - скопировать на плейер только нужные файлы. Для этого следует лишь чуть видоизменить конструкцию find:

Код: Выделить всё

find . -regextype posix-extended -iregex '.*\.(mp3|ogg|wma)$' -exec cp {} /media/yourplayer \;
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: удаление ф. с одинаковым расширением

Сообщение drBatty »

trendix писал(а):
11.07.2010 20:20
Вот и нужно удалить не музыкальные объекты,чтобы затем закачать этот каталог в физический флешплйер
(китайского производства!!) А в системе у меня deadbeef и rhithmbox.

можно определить ТИП файла, и переименовать его в соответствие с этим типом. А уж затем скопировать/переместить. Подробнее.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
trendix
Сообщения: 250
Статус: кромешный
ОС: debian

Re: удаление ф. с одинаковым расширением

Сообщение trendix »

drBatty!
спасибо ,попробую.
А что посоветовали в начале темы недалеко ушло от ручной чистки.
Куда все пропали?? Да и кушать хочется!!
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: удаление ф. с одинаковым расширением

Сообщение Goodvin »

trendix писал(а):
15.07.2010 12:43
drBatty!
спасибо ,попробую.
А что посоветовали в начале темы недалеко ушло от ручной чистки.

Не все "советчики" одинаково полезны.
Многие раздают "советы", не имея на то ни знаний, ни опыта, ни квалификации.
К сожалению.
Спасибо сказали:
Аватара пользователя
zombie
Сообщения: 539
ОС: Ubuntu 10.04 with OpenBox

Re: удаление ф. с одинаковым расширением

Сообщение zombie »

Goodvin писал(а):
15.07.2010 13:58
Не все "советчики" одинаково полезны.
Многие раздают "советы", не имея на то ни знаний, ни опыта, ни квалификации.
К сожалению.
Это было лишнее.
ЛИНУКСФОРУМ ДЛЯ ЛЮДЕЙ | Гугляшечка | Блог
I'm banned by /dev/random with his team.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: удаление ф. с одинаковым расширением

Сообщение drBatty »

Goodvin писал(а):
15.07.2010 13:58
Не все "советчики" одинаково полезны.
Многие раздают "советы", не имея на то ни знаний, ни опыта, ни квалификации.
К сожалению.


это вы против моего сложного пути? ;)
на самом деле, удаление файлов с именем /.*\.mp3/I это не совсем тоже самое, что удаление файлов формата MPEG1 Layer3. Иногда это неважно, и подойдёт простая find -delete, иногда - важно. Например у меня были файлы с битыми именами, с битого диска. У вас есть другое решение?

PS: в торрентах, а особенно в ED2K тоже есть такая проблема - по понятным причинам люди переименовывают файлы.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали: