BASH-programmering

Hoe te schrijven naar een bestand in Bash

Hoe te schrijven naar een bestand in Bash
Een van de essentiële taken die we doen tijdens het werken met bash-scripts is het lezen en schrijven van bestanden. In deze handleiding zullen we ons concentreren op het lezen van bestanden in bash en het bewerken ervan.

Er zijn meerdere manieren om een ​​bestand in bash te lezen en te schrijven. De eenvoudigste manier is het gebruik van de operatoren ">" en ">>".

De algemene indeling voor het gebruik van omleidingsoperatoren is:

Gegevens > Bestandsnaam
Gegevens >> Bestandsnaam

Laten we de procedure voor het schrijven naar een bestand begrijpen met een voorbeeld:

Een bestand schrijven met omleidingsoperatoren

Zoals hierboven besproken, is de eenvoudige en duidelijke benadering van het schrijven naar een bestand het gebruik van omleidingsoperatoren. Als u bijvoorbeeld de tekst van een reeds bestaand bestand wilt wijzigen, maakt u eerst een tekstbestand aan met de naam “testbestand.tekst” en schrijf er iets in:

Sla het tekstbestand op.

Typ het onderstaande commando in de terminal:

$ echo “De bestaande tekst in het bestand overschrijven” > testbestand.tekst

Overwringen kan riskant zijn; daarom is het een goede gewoonte om "noclobber" in te schakelen. Het instellen van "noclobber" blokkeert het overschrijven van elk bestaand bestand block.

$ set -o noclobber
$ echo “De bestaande tekst in het bestand overschrijven” > testbestand.tekst

Maar als u "noclobber" wilt omzeilen, gebruik dan de">|” operator in plaats van “>”:

$ echo “De bestaande tekst in het bestand overschrijven” >| testbestand.tekst

Of u kunt "noclobber" eenvoudig uitschakelen:

$ set +o noclobber

Maar dit commando zal de bescherming van alle bestanden wegnemen.

De bovenstaande uitvoer geeft aan dat de bestaande tekst is overschreven. Laten we nu de “>>” operator:

$ echo "Tekst toevoegen aan het bestaande tekstbestand" >> testbestand.tekst

echo” is niet altijd ideaal om te gebruiken, omdat je er geen tekst mee kunt opmaken, gebruik daarom “printf” in plaats van “echo” om de tekst op te maken, zoals aangetoond in de volgende opdracht:

$ printf “Welkom \n Dit is een nieuw tekstbestand.” > nieuwtestbestand.tekst

Laten we het concept begrijpen met een bash-scriptvoorbeeld. Open Vim door "vim" in de terminal te typen. Als je geen Vim-editor op je apparaat hebt, installeer het dan met:

$ sudo apt install vim

Typ het script:

#! /bin/bash
echo "Vul uw naam in"
lees naam
echo $naam > data_dir.tekst
echo “Vul je leeftijd in”
lees leeftijd
echo $leeftijd >> data_dir.tekst
cat data_dir.tekst

De "kat” commando wordt gebruikt om de bestanden te maken en te bewerken. Sla het bovenstaande script op in Vim door van modus te wisselen nadat u op de "Esc” toets en typ vervolgens “:w mijnscript.sh”. Open de terminal en voer de code uit:

Hoe een bestand te schrijven met Heredoc

Als u meerdere regels wilt schrijven, dan is de eenvoudigste methode het gebruik van "Heredoc". Hier document, ook bekend als "Heredoc", is een codeblok voor meerdere doeleinden. De syntaxis van Heredoc is:

Opdracht <<[-] Delimiter
.
tekst/commando's
.

scheidingsteken

Elke tekenreeks kan worden gebruikt in de plaats van "Scheidingsteken" en "-" kan ook worden gebruikt om tabspaties in het bestand te verwijderen. Laten we het begrijpen aan de hand van een eenvoudig voorbeeld:

#! /bin/bash
kat << TEXTFILE
Dit is een tekstbestand.
Dit bestand is gemaakt met heredoc.
TEKSTBESTAND

De bovenstaande scriptopdracht "cat" maakt een tekstbestand met de naam "TEXTFILE" en schrijft tekst in het zojuist gemaakte bestand. Sla het bestand nu op onder de naam "mijnscript.sh”. Start terminal en voer het script uit.

Een bestand schrijven met het Tee-commando

Een andere methode om een ​​bestand te schrijven is het gebruik van het “Tee” commando. Zoals de naam aangeeft, neemt dit commando invoer en schrijft het naar een bestand en toont het tegelijkertijd de uitvoer. Standaard overschrijft de opdracht "Tee" de bestaande gegevens.

$ echo "Dit is wat tekst" | tee tekstbestand.tekst

Om gebruik -a toe te voegen:

$ echo “Dit is een andere tekst” | tee -een tekstbestand.tekst

Gebruik om meerdere regels te schrijven:

$ echo “Tekst toevoegen aan meerdere bestanden” | tee tekstbestand1.txt-tekstbestand2.txt-tekstbestand3.tekst

De bovenstaande opdracht zal drie bestanden maken als ze niet bestaan ​​en tekst naar elk van hen schrijven.

Conclusie

Deze handleiding is gericht op meerdere benaderingen om in bash naar een bestand te schrijven met voorbeelden. Bij bash-scripting zijn er meerdere manieren om een ​​bestand te schrijven, maar de eenvoudigste is het gebruik van omleidingsoperatoren ">", ">>". Om meerdere regels te schrijven, kan "heredoc" worden gebruikt, en als u dezelfde gegevens naar meerdere regels wilt schrijven, dan is het "tee" -commando best handig.

AppyMouse trackpad en muisaanwijzer op het scherm voor Windows-tablets
Tabletgebruikers missen vaak de muisaanwijzer, vooral wanneer ze gewend zijn om de laptop te gebruiken. Het touchscreen Smartphones en tablets hebben ...
Middelste muisknop werkt niet in Windows 10
De middelste muis knop helpt u door lange webpagina's en schermen met veel gegevens te bladeren. Als dat stopt, zul je uiteindelijk het toetsenbord ge...
Hoe de linker- en rechtermuisknop op Windows 10 pc te veranderen
Het is nogal een norm dat alle computermuisapparaten ergonomisch zijn ontworpen voor rechtshandige gebruikers. Maar er zijn muisapparaten beschikbaar ...