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:
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.