GNU/Linux >> Znalost Linux >  >> Ubuntu

Dávkové odstranění mezer v názvech souborů pomocí příkazového řádku Ubuntu

Při práci s Linuxem můžete narazit na některé nástroje a aplikace, které pracují pouze s názvy souborů, které neobsahují žádné mezery. Ne vždy ukládáme soubory v tomto formátu „bez místa“ a možná budeme muset hledat řešení, které mezery v názvech souborů odstraní úplně. Vaše názvy souborů tak nebudou obsahovat žádné mezery a můžete s nimi snadno pracovat ve všech svých aplikacích.

V tomto článku vám vysvětlíme dva způsoby, jak odstranit mezery z názvů souborů, velmi jednoduše pomocí příkazového řádku Ubuntu.

Spustili jsme příkazy a postupy uvedené v tomto článku na systému Ubuntu 18.04 LTS.

Metoda 1:Prostřednictvím příkazu mv v cyklu „for“

V této metodě budeme používat příkaz Ubuntu mv ve smyčce for k přejmenování všech souborů/složek v adresáři tak, aby byly odstraněny všechny mezery.

Otevřete příkazový řádek Ubuntu, Terminál, buď pomocí vyhledávání ve Spouštěči aplikací, nebo pomocí zkratky Ctrl+Alt+T.

Takto vypadají soubory v mé ukázkové složce; Obsah jsem uvedl pomocí příkazu ls:

Všechny názvy souborů tedy neobsahují jednu, ale každá dvě mezery.

Toto je příkaz, který použiji v adresáři, jehož soubory chci přejmenovat:

$ for oldname in *; do newname=`echo $oldname | sed -e 's/ //g'`; mv "$oldname" "$newname";

hotovo

Když jsem znovu vypsal obsah adresáře, můžete vidět, že všechny názvy souborů již neobsahují žádné mezery.

Metoda 2:Použití bash skriptu k přejmenování souborů

V této metodě použijeme bash skript, který používá příkaz mv k přejmenování názvů souborů a složek tak, aby byly odstraněny všechny mezery.

Otevřete aplikaci Terminál a přesuňte se do složky bin následovně:

$ cd ~bin

Nyní otevřete nový soubor skriptu v jednom z vašich oblíbených textových editorů. K otevření prázdného souboru skriptu s názvem remove_spaces.sh

použijeme editor Nano
$ sudo nano remove_spaces.sh

Do tohoto prázdného souboru přidejte následující skript:

#!/bin/bash
(
IFS=$'\n'
for y in $(ls $1)
do
mv $1/`echo $y | sed 's/ /\\ /g'` $1/`echo "$y" | sed 's/ /_/g'`
done
)

Tip: Místo psaní celého skriptu do bash souboru jej můžete zkopírovat odtud a vložit do Terminálu pomocí Ctrl+Shift+V nebo pomocí možnosti Vložit z nabídky po kliknutí pravým tlačítkem.

Takto bude váš soubor vypadat:

Nyní ukončete soubor pomocí klávesové zkratky Ctrl+X a uložte soubor na "Uložit upravenou vyrovnávací paměť?" zadejte Y a poté stiskněte Enter.

Chcete-li z tohoto souboru vytvořit spustitelný skript, spusťte ve svém terminálu následující příkaz:

$ sudo chmod +x remove_spaces.sh

Nyní jste připraveni použít skript v kterékoli ze svých složek.

Když spustím skript v mém „ukázkovém“ adresáři ve složce Stažené soubory, vidím, že všechny mezery v názvech mých souborů byly odstraněny. Výsledek můžete vidět, když znovu vypíšu obsah souboru pomocí příkazu ls:

Takže toto byly dva způsoby, kterými můžete přejmenovat soubory tak, aby byly odstraněny všechny mezery v jejich názvech. Nyní žádná aplikace, kterou používáte, nebude selhat při rozpoznání názvů souborů obsahujících mezery.


Ubuntu
  1. Jak nainstalovat aktualizace zabezpečení z příkazového řádku v Ubuntu

  2. Přehrávejte soubory MP3 nebo WAV pomocí příkazového řádku systému Linux

  3. prohlížení vlastností/atributů dll a exe souborů přes příkazový řádek

  1. Jak upgradovat balíčky na Ubuntu pomocí příkazového řádku

  2. Stáhněte si soubor na Ubuntu pomocí příkazového řádku v systému Ubuntu 20.04

  3. Jak používat příkaz tail v Ubuntu Linux

  1. Jak stáhnout soubor na Ubuntu pomocí příkazového řádku

  2. Jak zkontrolovat verzi Ubuntu z příkazového řádku

  3. Převeďte PNG na JPEG, JPEG na PNG pomocí příkazového řádku v Ubuntu