GNU/Linux >> Znalost Linux >  >> Linux

Jak přejmenovat spoustu souborů pomocí Regex?

Chci přejmenovat spoustu souborů na Mac OS X (10.7.2).. Nemám perl balíček pro rename příkaz.

Moje soubory mají názvy jako „T452-102456-0.png“ a chci smazat část „-0“. Vím, že tuto akci mohu provést napsáním vlastního skriptu php-cli, ale rád bych znal jednodušší a rychlejší řešení.

Přijatá odpověď:

Bash nebo Ksh spolu s mv mohl by to vyřešit:

for f in *.png; do mv -n "$f" "${f/-0}"; done

V případě, že název souboru může mít za první pomlčkou také „0“ a „-0“ je vždy před tečkou, možná budete chtít do výrazu zahrnout i tuto tečku:

for f in *.png; do mv -n "$f" "${f/-0./.}"; done

Ale protože toto pravidlo přejmenování je jednoduché, pokud máte rename z util-linux balíček, udělá to také:

rename '-0.' '.' *.png

Linux
  1. Jak přejmenovat soubory v Linuxu

  2. Jak spravovat soubory protokolu pomocí Logrotate v Linuxu

  3. Jak třídit soubory podle jejich oprávnění pomocí Ls?

  1. Jak přejmenovat více souborů pomocí funkce Najít?

  2. Jak bezpečně přenášet soubory pomocí SCP

  3. Jak přejmenovat více souborů dohromady v Linuxu pomocí 3 metod

  1. Dávkové přejmenování souborů na sekvenční číslování?

  2. Jak přejmenovat více souborů najednou v Linuxu

  3. Jak přejmenuji soubory s mezerami pomocí prostředí Linux?