Ersetzen / Umbenennen des Verzeichnisnamens mit Regex

0

Ich habe mehrere Ordner mit diesem Muster "720p.MP4-ABC [abcde]", die versuchen, "720p.MP4-CAB [aedcb]" in "." zu ersetzen.

Steven Adward
quelle
Was möchten Sie in diesem speziellen Fall als Ergebnis sehen?
theoden
Sagen wir "beispiel.720p.MP4-ABC [abcde]" ist der Dateiname, der in "beispiel" umbenannt werden soll.
Steven Adward
Welches Betriebssystem / Shell?
David Richerby
Ich versuche es unter Linux
Steven Adward

Antworten:

0
echo mv \""NAME"\" \""$(sed -Ee 'regex' <<< "NAME")"\"

Dies wird mit regex umbenannt.

In Ihrem Fall können Sie einfach tun:

mv "example.720p.MP4-ABC[abcde]" "`sed 's/example\..*//' <<< "example.720p.MP4-ABC[abcde]"`"
theoden
quelle
"ABC [abcde]" kann sich jedoch in etwas anderes ändern
Steven Adward
@StevenAdward, ich versuche zu verstehen, was du brauchst, aber es ist manchmal wie der Nebel des Geheimnisses. Könnten Sie sich anhand konkreter Beispiele so klar wie möglich ausdrücken? siehe meine Bearbeitung
theoden
hier zwei beispiele Men.In.Black.3.2012.720p.MP4-KTR [rarbg] und Maleficent.2014.720p.MP4-KTR [rarbg] Ich möchte den Ordnernamen in Men.In.Black.3.2012 und Maleficent.2014 umbenennen
Steven Adward
for i in "Men.In.Black.3.2012.720p.MP4-KTR[rarbg]" "Maleficent.2014.720p.MP4-KTR[rarbg]"; do echo mv "'$i'" "'$(echo "$i" | sed -E 's/\.[0-9]{3,4}p.*//')"; done Ich denke, das wird für 720p und 1080p funktionieren.
theoden
root @ Ubuntu-1404-trusty-64-minimal ~ / 8.20 / 3 # bash 1.sh mv 'Men.In.Black.3.2012.720p.MP4-KTR [rarbg]' 'Men.In.Black.3.2012 mv' Maleficent.2014.720p.MP4-KTR [rarbg] '' Maleficent.2014 und ist es möglich, Platzhalter zum Suchen des Ordnernamens zu verwenden
Steven Adward