GNU/Linux >> Znalost Linux >  >> Linux

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

Uniknout z prostoru, např. Spring\ 2011 , nebo použijte uvozovky, např. 'Spring 2011' . V budoucnu je obvykle špatný nápad používat názvy souborů s mezerami na jakémkoli *NIXu.

Pokud máte rename , můžete použít toto:

rename ' ' '_' [filenames...]

Pokud má váš počítač příkaz rename, změní se tím všechny mezery na podtržítka ve všech souborech/adresářích v aktuálním pracovním adresáři:

rename 's/ /_/g' *

Pokud nemáte rename nebo raději použijte pouze shell:

for f in *\ *; do mv "$f" "${f// /_}"; done

Rozbité:

  • *\ * vybere všechny soubory s mezerou v názvu jako vstup pro for smyčka. Vzor *X* vybere všechny soubory s X v jejich jménu a pro prostor speciálních znaků jej musíme escapovat lomítkem, aby to bash nepovažoval za oddělení různých argumentů.
  • Uvozovky kolem "$f" jsou důležité, protože víme, že v názvu souboru je mezera a jinak by se to zobrazilo jako 2+ argumenty pro mv .
  • ${f//str/new_str} je funkce substituce řetězců specifická pro bash. Všechny výskyty str jsou nahrazeny new_str .

Linux
  1. Jak šifrovat soubory pomocí gocryptfs na Linuxu

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

  3. Jak komprimovat a extrahovat soubory pomocí příkazu tar v systému Linux?

  1. Jak přejmenovat soubory v Linuxu

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

  3. Jak změnit výchozí prostředí v Linuxu

  1. Základy Linuxu:Jak stahovat soubory do prostředí pomocí Wget

  2. Použití linuxového příkazu find – Použití s ​​příklady

  3. Jak BASH Shell načítá své konfigurační soubory v Linuxu