Problem mit Bash-Shell

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
deiszner
Beiträge: 11
Registriert: 08.12.2013 12:32:14

Problem mit Bash-Shell

Beitrag von deiszner » 10.12.2013 17:28:49

Hallo,

ich habe in einem Verzeichnis hunderte Dateien:

aaa.mp3
aaa(1).mp3
b.mp3
bb.mpg
bb(1).mp3
bb(2).mp3
bb(3).mp3
bb(4).mp3
c.mp3
d.mp3
e.mp3
eeee(1).mp3
eeee(2).mp3

Ich hätte nun gern alle Dateien gelöscht, welche ein (und hier ist egal was hier steht) also "Kammer auf - irgendwas - Klammer zu" im Dateinamen haben.

find /var/www -type f -name “*(*)*.mp3” -exec rm -f {} \;

funktioniert aber nicht.

Vorschläge ?

Benutzeravatar
4A4B
Beiträge: 981
Registriert: 09.11.2011 11:19:55
Kontaktdaten:

Re: Problem mit Bash-Shell

Beitrag von 4A4B » 10.12.2013 18:03:46

Du verwendest zum Quoten die falschen Anführungszeichen, probier mal " statt “ bzw. ”

Code: Alles auswählen

find /var/www -type f -name "*(*)*.mp3" -exec rm -f {} \;

Benutzeravatar
Meillo
Moderator
Beiträge: 9268
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Problem mit Bash-Shell

Beitrag von Meillo » 13.12.2013 09:48:37

deiszner hat geschrieben: ich habe in einem Verzeichnis hunderte Dateien:
Da es sich nur um ein einzelnes Verzeichnis handelt, ist kein find(1) noetig.

Ganz einfach:

Code: Alles auswählen

rm *\(*\)*.mp3
Um zuvor aufzulisten was geloescht werden wird, einfach das `rm' durch `ls' ersetzen:

Code: Alles auswählen

ls *\(*\)*.mp3
Use ed once in a while!

deiszner
Beiträge: 11
Registriert: 08.12.2013 12:32:14

Re: Problem mit Bash-Shell

Beitrag von deiszner » 13.12.2013 10:14:15

Hallo,

alles bislang keinen Erfolg:

Die Dateinamen sehen so aus im Verzeichnis:

Elis - Ballade (1).mp3
Elis - Ballade (2).mp3
Elis - Ballade.mp3

Der Titel mit (1) und (2) soll weg - der 3 soll bleiben.

gruß

Sebastian

Benutzeravatar
Meillo
Moderator
Beiträge: 9268
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Problem mit Bash-Shell

Beitrag von Meillo » 13.12.2013 10:59:47

deiszner hat geschrieben: alles bislang keinen Erfolg:
Bist du dir sicher? Bei mir funktioniert mein Vorschlag mit deinem Beispiel:

Code: Alles auswählen

$ xargs -d \\n touch <<!
Elis - Ballade (1).mp3
Elis - Ballade (2).mp3
Elis - Ballade.mp3
!

$ ls
Elis - Ballade (1).mp3  Elis - Ballade (2).mp3  Elis - Ballade.mp3

$ ls *\(*\)*.mp3    
Elis - Ballade (1).mp3  Elis - Ballade (2).mp3
Use ed once in a while!

deiszner
Beiträge: 11
Registriert: 08.12.2013 12:32:14

Re: Problem mit Bash-Shell

Beitrag von deiszner » 13.12.2013 12:24:24

Ja - ich bekam den Fehler

ls: invalid option -- 'W'

das hab ich Dir dummerweise nicht berichtet - mein Fehler - sorry.

Ich hab dann mal gegoogelt - das Problem ist, das Deine Lösung nur funktioniert, wenn der Dateiname nicht:


-Dateiname1.mp3
-Dateiname1(1).mp3
-Dateiname1(2).mp3

ist - das "-" am Anfang ist ein Problem !

deiszner
Beiträge: 11
Registriert: 08.12.2013 12:32:14

Re: Problem mit Bash-Shell

Beitrag von deiszner » 13.12.2013 12:24:40

Ach ja -


DANKE :-)

funktioniert :-)

uname
Beiträge: 12475
Registriert: 03.06.2008 09:33:02

Re: Problem mit Bash-Shell

Beitrag von uname » 13.12.2013 12:48:33

Für die Vollständigkeit:

Code: Alles auswählen

ls
-Dateiname1(2).mp3  -Dateiname1(3).mp3  -Dateiname1.mp3

Code: Alles auswählen

ls -- *\(*\)*.mp3
-Dateiname1(2).mp3  -Dateiname1(3).mp3

Code: Alles auswählen

rm -- *\(*\)*.mp3
ls
-Dateiname1.mp3

Antworten