Bash:
Hantera filer med CLI-engreppskommandon
Hur:
Här är några kraftfulla one-liners och vad de kan åstadkomma:
- Skapa en fil och skriva text i den:
echo "Hello, Linux Journal Readers!" > greetings.txt
Detta skapar (eller skriver över om den redan finns) filen greetings.txt
med frasen “Hello, Linux Journal Readers!”.
- Lägga till text i en befintlig fil:
echo "Welcome to Bash programming." >> greetings.txt
Detta lägger till en ny rad “Welcome to Bash programming.” i slutet av filen greetings.txt
.
- Läsa innehållet i en fil:
cat greetings.txt
Utskrifter:
Hello, Linux Journal Readers!
Welcome to Bash programming.
- Söka efter en specifik rad i en fil (med
grep
):
grep "Bash" greetings.txt
Hittar och visar rader som innehåller ordet “Bash”; i detta exempel returneras “Welcome to Bash programming.”
- Lista alla filer i den aktuella katalogen sorterade efter ändringsdatum:
ls -lt
Visar filer sorterade efter ändringstid, de nyaste först.
- Massomdöpning av
.txt
-filer till.md
(Markdown):
for file in *.txt; do mv "$file" "${file%.txt}.md"; done
Denna loop går igenom varje .txt
-fil i den aktuella katalogen och döper om dem till .md
.
Dessa CLI one-liners utnyttjar kraften i Bash för snabb och effektiv filmanipulation, en färdighet som varje programmerare kommer att anse vara ovärderlig.
Fördjupning
Bash-shellet, som är en stående inslag på de flesta UNIX-liknande system, har utvecklats från Bourne Shell (sh), introducerat i Version 7 Unix 1979. Bash utökar sin föregångares möjligheter med förbättrade skriptfunktioner som har gjort det populärt bland systemadministratörer och programmerare.
Även om Bash är otroligt kraftfullt för filmanipulation, kommer det med sina nackdelar. Att vara textbaserad, komplexa operationer (som de som involverar binärdata) kan vara besvärliga eller ineffektiva jämfört med att använda ett programmeringsspråk utformat med dessa förmågor i åtanke, till exempel Python.
Alternativ till Bash-skriptning för filmanipulation kan inkludera Python-skriptning med hjälp av biblioteken os
och shutil
, som kan erbjuda en mer läsbar syntax och hantera mer komplexa scenarier mer smidigt. Dock säkerställer Bashs rena allestädes närvaro och dess effektivitet för majoriteten av filuppgifter dess fortsatta popularitet.
Dessutom, att förstå insidorna av hur Bash hanterar filer (allt är en fil i Unix/Linux-paradigmet) och dess inbyggda kommandon (som awk
, sed
, grep
osv.) kan ge programmerare möjligheten att skriva mer effektiva och effektfulla skript. Denna djupa förståelse för shellekapsmöjligheter i kombination med dess historiska sammanhang berikar en programmerares förmåga att manipulera filer och utföra ett brett utbud av uppgifter direkt från kommandoraden.