zamień / zmień nazwę katalogu za pomocą wyrażenia regularnego


0

mam wiele folderów z tym wzorem „720p.MP4-ABC [abcde]” próbuje zastąpić lub zmienić nazwę „720p.MP4-CAB [aedcb]” na „.


Co chcesz zobaczyć w wyniku tego konkretnego przypadku?
theoden

powiedzmy „example.720p.MP4-ABC [abcde]” to nazwa pliku, której nazwę chcesz zmienić na „przykład”.
Steven Adward

Jaki system operacyjny / powłoka?
David Richerby

Próbuję to zrobić na Linuksie
Steven Adward

Odpowiedzi:


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

Nazwa zostanie zmieniona przy użyciu wyrażenia regularnego.

W twoim przypadku możesz po prostu:

mv "example.720p.MP4-ABC[abcde]" "`sed 's/example\..*//' <<< "example.720p.MP4-ABC[abcde]"`"

ale „ABC [abcde]” może zmienić się w coś innego
Steven Adward

@ StevenAdward, staram się zrozumieć, czego potrzebujesz, ale czasami jest to mgła tajemnicy. Czy możesz wyrazić siebie tak jasno, jak to tylko możliwe, z bardziej konkretnymi przykładami? zobacz moją edycję.
theoden

tutaj dwa przykłady Men.In.Black.3.2012.720p.MP4-KTR [rarbg] i Maleficent.2014.720p.MP4-KTR [rarbg], więc chcę zmienić nazwę folderu na Men.In.Black.3.2012 i Maleficent.2014
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 Myślę, że to zadziała dla 720p i 1080p.
theoden

root @ Ubuntu-1404-trusty-64-minimum ~ / 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 i czy można użyć symbolu wieloznacznego do znalezienia nazwy folderu
Steven Adward
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.