Bash:
Manipolazione di file con one-liner da CLI
Come fare:
Ecco alcuni potentissimi one-liners e cosa possono realizzare:
- Creare un file e scrivere testo dentro:
echo "Ciao, Lettori del Linux Journal!" > saluti.txt
Questo crea (o sovrascrive se già esiste) il file saluti.txt
con la frase “Ciao, Lettori del Linux Journal!”.
- Aggiungere testo a un file esistente:
echo "Benvenuti nella programmazione Bash." >> saluti.txt
Questo aggiunge una nuova riga “Benvenuti nella programmazione Bash.” alla fine del file saluti.txt
.
- Leggere il contenuto di un file:
cat saluti.txt
Risultato:
Ciao, Lettori del Linux Journal!
Benvenuti nella programmazione Bash.
- Cercare una specifica riga in un file (usando
grep
):
grep "Bash" saluti.txt
Trova e visualizza le righe che contengono la parola “Bash”; in questo esempio, ritorna “Benvenuti nella programmazione Bash.”
- Elenca tutti i file nella directory corrente ordinati per data di modifica:
ls -lt
Mostra i file ordinati per tempo di modifica, il più recente per primo.
- Rinominare in blocco i file
.txt
in.md
(Markdown):
for file in *.txt; do mv "$file" "${file%.txt}.md"; done
Questo ciclo passa attraverso ogni file .txt
nella directory corrente e lo rinomina in .md
.
Questi one-liners CLI sfruttano la potenza di Bash per una manipolazione dei file rapida ed efficace, una competenza indispensabile per qualsiasi programmatore.
Approfondimento
La shell Bash, un pilastro sulla maggior parte dei sistemi simil-UNIX, è evoluta dalla Bourne Shell (sh), introdotta nel Version 7 Unix nel 1979. Bash espande le capacità del suo predecessore con caratteristiche di scripting migliorate che l’hanno reso popolare sia tra gli amministratori di sistema che tra i programmatori.
Sebbene Bash sia incredibilmente potente per la manipolazione dei file, presenta delle controindicazioni. Essendo basato su testo, operazioni complesse (come quelle che coinvolgono dati binari) possono risultare ingombranti o inefficienti rispetto all’uso di un linguaggio di programmazione progettato con queste capacità in mente, come Python.
Le alternative alla programmazione di script Bash per la manipolazione dei file potrebbero includere la programmazione in Python utilizzando le librerie os
e shutil
, che possono offrire una sintassi più leggibile e gestire scenari più complessi in modo più elegante. Tuttavia, l’onnipresenza di Bash e la sua efficienza per la maggior parte dei compiti sui file ne assicurano la continua popolarità.
Inoltre, comprendere gli interni di come Bash gestisce i file (tutto è un file nel paradigma Unix/Linux) e i suoi comandi integrati (come awk
, sed
, grep
, ecc.) può potenziare i programmatori a scrivere script più efficienti ed efficaci. Questa profonda comprensione delle capacità della shell combinata con il suo contesto storico arricchisce la capacità di un programmatore di manipolare file e eseguire una vasta gamma di compiti direttamente dalla riga di comando.