BASH-programmering

Hur man skriver till en fil i Bash

Hur man skriver till en fil i Bash
En av de viktigaste uppgifterna vi gör när vi arbetar med bash-skript är att läsa och skriva filer. I den här guiden kommer vi att fokusera på hur man läser filer i bash och hur man redigerar dem.

Det finns flera sätt att läsa och skriva en fil i bash. Det enklaste sättet är att använda operatörerna ">" och ">>".

Det allmänna formatet för att använda omdirigeringsoperatorer är:

Data> Filnamn
Data >> Filnamn

Låt oss förstå skrivningen till en filprocedur med ett exempel:

Hur man skriver en fil med omdirigeringsoperatorer

Som diskuterats ovan använder den enkla och enkla metoden att skriva till en fil omdirigeringsoperatorer. Om du till exempel vill ändra texten i en redan befintlig fil, skapar du först en textfil med namnet “testfil.Text”Och skriv vad som helst i det:

Spara textfilen.

Skriv nedanstående kommando i terminalen:

$ echo "Skriva över befintlig text i filen"> testfil.Text

Vridning kan vara riskabelt; därför är det god praxis att aktivera "noclobber". Att ställa in “noclobber” skulle blockera överskrivning av alla spännande filer.

$ set -o noclobber
$ echo "Skriva över befintlig text i filen"> testfil.Text

Men om du vill kringgå "noclobber", använd sedan "> |”Operatör istället för“>”:

$ echo "Skriva över den befintliga texten i filen"> | testfil.Text

Eller så kan du helt enkelt inaktivera “noclobber”:

$ set + o noclobber

Men det här kommandot tar bort skyddet från alla filer.

Ovanstående output indikerar att den befintliga texten har skrivits över. Låt oss nu använda “>>”Operatör:

$ echo “Lägga till text i befintlig textfil” >> testfil.Text

eko”Är inte alltid perfekt att använda eftersom du inte kan formatera text med den, använd därför“ printf ”istället för“ echo ”för att formatera texten som visas i följande kommando:

$ printf “Välkommen \ n Detta är en ny textfil.”> Nyaste filen.Text

Låt oss förstå konceptet med ett exempel på bash-skript. Öppna Vim genom att skriva “vim” i terminalen. Om du inte har Vim-editor på din enhet, installera den med:

$ sudo apt installera vim

Skriv in skriptet:

#! / bin / bash
eko “Ange ditt namn”
läs namn
echo $ name> data_dir.Text
eko “Ange din ålder”
läs ålder
echo $ age >> data_dir.Text
kattdata_dir.Text

katt”-Kommandot används för att skapa och redigera filerna. Spara ovanstående skript i Vim genom att byta läge efter att du tryckt på “Esc”-Tangenten och skriv sedan”: w myscript.sh”. Öppna terminalen och kör koden:

Hur man skriver en fil med Heredoc

Om du vill skriva flera rader är den enklaste metoden att använda “Heredoc”. Här är dokumentet, även känt som "Heredoc", ett multifunktionellt kodblock. Syntaxen för Heredoc är:

Kommando <<[-] Delimiter
.
text / kommandon
.

Avgränsare

Vilken som helst sträng kan användas i stället för ”Avgränsare” och ”-” kan också användas för att ta bort eventuella flikavstånd i filen. Låt oss förstå det med ett enkelt exempel:

#! / bin / bash
katt << TEXTFILE
Detta är en textfil.
Den här filen skapas med heredoc.
TEXTFIL

Ovanstående skript "cat" -kommando skapar en textfil med namnet "TEXTFILE" och skriver text till filen som just skapats. Spara nu filen med namnet “myscript.sh”. Starta terminalen och kör skriptet.

Hur man skriver en fil med kommandot Tee

En annan metod för att skriva en fil är att använda kommandot “Tee”. Som namn som anger detta kommando tar inmatning och skriver till en fil och visar utdata samtidigt. Som standard kommer kommandot "Tee" att skriva över befintliga data.

$ echo "Detta är lite text" | tee-fil.Text

För att lägga till använd -a:

$ echo “Detta är en annan text” | tee -a textfil.Text

För att skriva flera rader, använd:

$ echo “Lägga till text i flera filer” | tee-textfil1.txt textfil2.txt textfil3.Text

Ovanstående kommando skapar tre filer om de inte finns och skriver text till var och en av dem.

Slutsats

Den här guiden fokuserar på flera metoder för att skriva till en fil i bash med exempel. I bash-skript finns det flera sätt att skriva en fil, men det enklaste är att använda omdirigeringsoperatorerna ">", ">>". För att skriva flera rader kan "heredoc" användas, och om du vill skriva samma data till flera rader, är kommandot "tee" ganska praktiskt.

OpenTTD vs Simutrans
Att skapa din egen transportsimulering kan vara rolig, avkopplande och extremt lockande. Det är därför du måste se till att du testar så många spel so...
OpenTTD-handledning
OpenTTD är ett av de mest populära affärssimuleringsspelen där ute. I det här spelet måste du skapa en underbar transportaffär. Du kommer dock att bör...
SuperTuxKart för Linux
SuperTuxKart är en fantastisk titel som är utformad för att ge dig Mario Kart-upplevelsen gratis på ditt Linux-system. Det är ganska utmanande och rol...