GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso rinominare i file con spazi utilizzando la shell di Linux?

Fuggi dallo spazio, ad es. Spring\ 2011 , o usa le virgolette, ad es. 'Spring 2011' . In futuro, in genere è una cattiva idea utilizzare nomi di file con spazi su qualsiasi *NIX.

Se hai rename , puoi utilizzare questo:

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

Se la tua macchina ha il comando rename, questo cambierà tutti gli spazi in caratteri di sottolineatura in tutti i file/dir nella directory di lavoro corrente:

rename 's/ /_/g' *

Se non hai rename o preferisci usare solo la shell:

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

Ripartito:

  • *\ * seleziona tutti i file con uno spazio nel nome come input per il for ciclo continuo. Il modello *X* seleziona tutti i file con X nel loro nome, e per lo spazio dei caratteri speciali, dobbiamo farne l'escape con una barra in modo che bash non lo consideri come una separazione di argomenti diversi.
  • Le virgolette intorno a "$f" sono importanti perché sappiamo che c'è uno spazio nel nome del file e altrimenti apparirebbe come 2+ argomenti a mv .
  • ${f//str/new_str} è una funzione di sostituzione delle stringhe specifica di bash. Tutte le istanze di str sono sostituiti con new_str .

Linux
  1. Come crittografare i file con gocryptfs su Linux

  2. Come rinominare i file in Linux

  3. Come la shell BASH carica i suoi file di configurazione in Linux

  4. Come modificare la shell predefinita in Linux

  5. Come cercare i file usando regex nello script della shell linux

Come rinominare i file usando la riga di comando in Linux

Come rinominare uno o più file in Linux

Come sostituire gli spazi nei nomi dei file con i caratteri di sottolineatura sulla shell di Linux

Come trovare file con il comando fd in Linux

Come determinare cosa sta utilizzando più spazio su disco su un server Linux?

Come scaricare file in Rocky Linux 8 sulla riga di comando usando wget