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.


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]"`"

"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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.