다음과 같은 이름의 파일 모음이 있습니다.
Ace of Aces (Europe).mp4
Action Fighter (USA, Europe) (v1.2).mp4
Addams Family, The (Europe).mp4
Aerial Assault (USA).mp4
After Burner (World).mp4
Air Rescue (Europe).mp4
Aladdin (Europe).mp4
Alex Kidd - High-Tech World (USA, Europe).mp4
Alex Kidd in Miracle World (USA, Europe) (v1.1).mp4
Alex Kidd in Shinobi World (USA, Europe).mp4
Alex Kidd - The Lost Stars (World).mp4
Alf (USA).mp4
Alien 3 (Europe).mp4
Alien Storm (Europe).mp4
Alien Syndrome (USA, Europe).mp4
Altered Beast (USA, Europe).mp4
American Baseball (Europe).mp4
American Pro Football (Europe).mp4
Andre Agassi Tennis (Europe).mp4
Arcade Smash Hits (Europe).mp4
Assault City (Europe) (Light Phaser).mp4
(이 파일 이름을 텍스트 파일에 나열했습니다.)
대괄호를 제거해야 하므로 파일 이름을 변경하여 대괄호와 그 사이의 텍스트를 제거하려고 하므로 파일 이름은 다음과 같습니다.
Ace of Aces.mp4
Action Fighter.mp4
Addams Family, The.mp4
Aerial Assaul.mp4
After Burner.mp4
Air Rescue.mp4
Aladdi.mp4
Alex Kidd - High-Tech World.mp4
Alex Kidd in Miracle World.mp4
Alex Kidd in Shinobi World.mp4
Alex Kidd - The Lost Stars.mp4
Alf.mp4
Alien 3.mp4
Alien Storm.mp4
Alien Syndrome.mp4
Altered Beast.mp4
American Baseball.mp4
American Pro Footbal.mp4
Andre Agassi Tennis.mp4
Arcade Smash Hits.mp4
Assault City.mp4
이상적으로 모든 솔루션은 Aladdin (Europe).mp4
and Aladdin (Asia).mp4
, 또는 and, 같은 Ghostbusters (1984).mp4
파일이 있으면 나에게 경고해야 하며 Ghostbusters (2016).mp4
파일을 손상시키지 않아야 합니다.
답변1
답변2
,를 사용하십시오 zsh
(충돌도 확인하십시오).
autoload zmv # best in ~/.zshrc
zmv -n '*' '${f//[[:space:]]#[(]*[)]}'
만족스러우면 제거하거나 교체하십시오 -n
.-v
알았어 //
, 없애자모두발생 횟수 (...)
이지만 *
탐욕스러운, 어쨌든 최대 하나의 게임만 있을 것입니다. on 1 (2) 3 (4)
이면 일치합니다 " (2) 3 (4)"
. 매개변수 확장 플래그를 *
사용하여 S
탐욕스럽지 않게 만들 수 있습니다.
zmv -n '*' '${(S)f//[[:space:]]#[(]*[)]}'
또는 (0개 이상의 비 -s) *
로 대체됩니다 .[^)]#
)