Come estrarre il nome file ed estensione in bash

Come estrarre il nome file ed estensione in bash

Bash è una potente shell di comando che viene comunemente utilizzata nei sistemi operativi Linux e Unix. Un'attività comune quando si lavora con i file in bash è estrarre il nome file e l'estensione da un percorso del file. Questo articolo discuterà di come estrarre il nome file e l'estensione in bash e fornire esempi su come utilizzare questi valori negli script.

Estrarre il nome file e l'estensione in bash

Esistono diversi modi per estrarre il nome file e l'estensione in Bash, ecco tre metodi comuni:

  • Usando il comando basename
  • Usando l'espansione dei parametri
  • Utilizzando la variabile IFS (separatore di campo interno)

1: usando il comando basename

IL basename Il comando restituisce il nome file da un percorso del file ed estrae il nome file e l'estensione. Puoi usare il basename comando con il -suffisso Opzione, che rimuove il suffisso specificato dal nome file come nel codice di seguito:

#!/Bin/Bash
# Percorso del file di esempio
file_path = "/path/to/file.TXT"
# Estrai file
FileName = $ (basename $ file_path)
# Extract Extension
Extension = "$ fileName ##*. "
Echo "FileName: $ nome file"
Echo "estensione: $ estensione"

2: usando l'espansione dei parametri

IL Espansione dei parametri La sintassi è una potente caratteristica di Bash che ti consente di manipolare le stringhe. Per estrarre il nome file e l'estensione utilizzando l'espansione dei parametri, è possibile utilizzare il $ parametro ## word Sintassi, che rimuove la corrispondenza più lunga del modello specificato dall'inizio del parametro come nel codice seguente:

#!/Bin/Bash
# Percorso del file di esempio
file_path = "/path/to/file.TXT"
# Estrai file
filename = "$ file_path ##*/"
# Extract Extension
Extension = "$ fileName ##*. "
Echo "FileName: $ nome file"
Echo "estensione: $ estensione"

3: utilizzando la variabile IFS (separatore di campo interno)

IL Variabile IFS viene utilizzato da bash per dividere le stringhe nei campi impostando il Variabile IFS al percorso separatore ("/"). È possibile estrarre il nome file e l'estensione da un percorso del file attraverso questa variabile utilizzando il codice di seguito:

#!/Bin/Bash
# Percorso del file di esempio
file_path = "/path/to/file.TXT"
# Imposta ifs su "/"
Ifs = "/" leggi -r -a parti <<< "$file_path"
# Estrai file
filename = "$ parti [-1]"
# Extract Extension
Extension = "$ fileName ##*. "
Echo "FileName: $ nome file"
Echo "estensione: $ estensione"

Conclusione

L'estrazione del nome file e l'estensione da un percorso del file è un'attività comune quando si lavora con i file in bash. Questo articolo ha discusso di tre metodi comuni per estrarre il nome file e l'estensione in bash. Usando il basename comando, il Espansione dei parametri sintassi o il Variabile IFS, È possibile estrarre rapidamente e facilmente i valori di nome file e estensione da un percorso del file.