Android

Bash: toevoegen aan bestand

Shell Scripting Tutorial in Linux

Shell Scripting Tutorial in Linux

Inhoudsopgave:

Anonim

In Bash zijn er meerdere manieren om tekst aan een bestand toe te voegen. In dit artikel worden enkele ervan uitgelegd.

Als u tekst aan een bestand wilt toevoegen, moet u schrijfrechten hebben. Anders ontvangt u een foutmelding over geweigerde toestemming.

Toevoegen aan een bestand met de omleidingsoperator ( >> )

Met omleiding kunt u de uitvoer van een opdracht vastleggen en als invoer naar een andere opdracht of een ander bestand verzenden. De >> omleiding operator voegt de uitvoer toe aan een bepaald bestand.

Er zijn een aantal opdrachten die u kunt gebruiken om tekst af te drukken naar de standaarduitvoer en deze om te leiden naar het bestand, waarbij echo en printf de meest gebruikte zijn.

Om tekst aan een bestand toe te voegen, geeft u de naam van het bestand op achter de omleidingsoperator:

echo "this is a new line" >> file.txt

In combinatie met de optie -e interpreteert de opdracht echo de tekens met de backslash-escapetekens zoals newline :

echo -e "this is a new line \nthis is another new line" >> file.txt

Als u complexere uitvoer wilt produceren, gebruikt u de opdracht printf waarmee u de opmaak van de uitvoer kunt opgeven:

printf "Hello, I'm %s.\n" $USER >> file.txt

Een andere manier om tekst aan een bestand toe te voegen, is door het Here-document (Heredoc) te gebruiken. Het is een soort omleiding waarmee u meerdere invoerregels aan een opdracht kunt doorgeven.

U kunt bijvoorbeeld de inhoud doorgeven aan de opdracht cat en deze toevoegen aan een bestand:

cat «EOF» file.txt De huidige werkmap is: $ PWD U bent ingelogd als: $ (whoami) EOF

U kunt de uitvoer van elke opdracht aan een bestand toevoegen. Hier is een voorbeeld met de opdracht date :

date +"Year: %Y, Month: %m, Day: %d" >> file.txt

Let er bij het toevoegen van een bestand met een omleiding op dat u de operator > niet gebruikt om een ​​belangrijk bestaand bestand te overschrijven.

Voeg een bestand toe met de tee opdracht

tee is een opdrachtregelhulpprogramma in Linux dat van de standaardinvoer leest en naar zowel standaarduitvoer als een of meer bestanden tegelijkertijd schrijft.

Standaard overschrijft de tee opdracht het opgegeven bestand. Gebruik tee met de optie -a ( --append ) om de uitvoer aan het bestand toe te voegen:

echo "this is a new line" | tee -a file.txt

echo "this is a new line" | tee -a file.txt >/dev/null

Het voordeel van het gebruik van de tee opdracht boven de >> -operator is dat tee u in staat stelt om tekst aan meerdere bestanden tegelijk toe te voegen en om te schrijven naar bestanden van andere gebruikers in combinatie met sudo .

Als je tekst wilt toevoegen aan een bestand waarvoor je geen schrijfrechten hebt, plaats je sudo vóór tee zoals hieronder weergegeven:

echo "this is a new line" | sudo tee -a file.txt

tee ontvangt de uitvoer van de echo opdracht, verhoogt de sudo-machtigingen en schrijft naar het bestand.

Als u tekst aan meerdere bestanden wilt toevoegen, geeft u de bestanden op als argumenten voor de tee opdracht:

echo "this is a new line" | tee -a file1.txt file2.txt file3.txt

Conclusie

Om in Linux tekst aan een bestand toe te voegen, gebruikt u de >> omleidingsoperator of de tee opdracht.

bash-terminal