Har du nogensinde haft brug for at tilføje nye tekstlinjer til en eksisterende fil i Linux, som at opdatere en log, tilføje nye konfigurationsværdier eller gemme kommandooutput uden at slette det, der allerede er der? Det er et almindeligt behov, især for udviklere, systemadministratorer eller enhver, der administrerer scripts og automatiseringsopgaver. Overskrivning af en fil ved et uheld kan forårsage tab af data, så det er afgørende at vide, hvordan man tilføjer tekst i stedet for at erstatte den. I denne vejledning vil vi udforske nogle nyttige Linux-kommandoer til at tilføje indhold til en eksisterende fil.
Indholdsfortegnelse
- Overskrivning vs. tilføjelse
- Tilføjelse af tekst til en fil ved hjælp af Double Redirect Operator
- Brug af tee-kommandoen til at tilføje tekst til en fil
- Tilføjelse af tekst til en fil ved hjælp af sed-kommandoen
- Omdirigering af standardoutput og standardfejl til en fil
Overskrivning vs. tilføjelse
Tilføjelse og overskrivning involverer begge at tilføje indhold til en fil, men de gør det på meget forskellige måder. Overskrivning erstatter alle eksisterende data med nyt indhold, og sletter effektivt det, der tidligere var i filen. Tilføjelse tilføjer på den anden side nyt indhold til slutningen af filen uden at røre ved de eksisterende data.
Tilføjelse af tekst til en fil ved hjælp af Double Redirect Operator
Den dobbelte omdirigeringsoperatør (>>) er en enkel og effektiv måde at tilføje nyt indhold til en eksisterende fil i Linux. Den opretter automatisk filen, hvis den ikke eksisterer, og tilføjer tekst uden at fjerne eksisterende data.
Note: du skal være forsigtig, når du bruger omdirigeringsoperatøren. En enkelt omdirigeringsoperatør (>) vil overskrive indholdet i filen, mens en dobbelt omdirigeringsoperatør (>>) vil tilføje teksten til en ny linje.
Mere læsning:Sådan får du bedre ping i Australien: 9 enkle og effektive løsninger
For eksempel kan du brugeechokommando med>>operatør for at tilføje logposter til en fil.
echo "Backup Completed Successfully on $(date)" >> backup.logDenne kommando optager en tidsstemplet besked i slutningen af "backup.log"-filen.
Du kan også brugeprintfkommando med den dobbelte omdirigeringsoperator (>>) for at tilføje tekst og samtidig bevare bedre kontrol over formateringen. Det bruges almindeligvis til at tilføje strukturerede data eller formaterede beskeder til filer.
printf "User login attempt: %sn" "$(date)" >> system_activity.txtDenne kommando tilføjer en formateret logpost med den aktuelle dato til filen "system_activity.txt".

Du kan også bruge kat-kommandoen med den dobbelte omdirigeringsoperator til at kombinere flere filer. Hvis du gør dette, tilføjes indholdet af en fil til en anden, hvilket hjælper med at vedligeholde kombinerede rapporter eller logfiler.
cat mte.txt >> example.txt
Sidst, men ikke mindst, kan du også bruge den dobbelte omdirigeringsoperator til at gemme outputtet af enhver kommando til en specifik fil.
ls >> logs.txt
Huske,>>tilføjer kun tekst i slutningen af filen. Den kan ikke placere den mellem linjer.
Brug af tee-kommandoen til at tilføje tekst til en fil
Tee-kommandoen læser input fra terminalen og skriver det til en fil. Det bruges ofte, når du vil gemme en kommandos output, mens du stadig ser det på skærmen. Dette kan gøres på to måder: ved at brugeteekommando med-amulighed eller ved at bruge den dobbelte omdirigeringsoperator (>>).
For at tilføje indhold ved hjælp af-avalgmulighed:
tee -a mte.txtDenne kommando vil føre dig ind i en interaktiv tilstand, hvor du kan skrive enhver tekst. Når du er færdig, skal du trykke på Ctrl + D for at afslutte.

I den anden metode kan du bruge omdirigeringsoperatøren medteekommando som denne.
tee >> mte.txtDette fungerer på samme måde, men den tekst, du skriver, vises ikke igen på terminalen.

Sørg for at brugeteekommando med-aflag eller>>ved tilføjelse. Ellers vil filen blive overskrevet.
Tilføjelse af tekst til en fil ved hjælp af sed-kommandoen
Sed-kommandoen, forkortelse forstream editor, bruges til at ændre tekst i filer eller input direkte fra terminalen. Denne kommando er nyttig, når du skal tilføje tekst på bestemte linjer eller matche bestemte mønstre i en fil.
sed -i '$ a<text_to_append>' <file_name>Erstattetext_to_appendmed den tekst, du vil tilføje, ogfile_namemed dit faktiske filnavn. For eksempel:
sed -i '$ a appending text using sed' mte.txtHer bruger vi$tegn for at tilføje den nye linje i slutningen af filen, mensastår for "tilføje", fortællersedfor at tilføje den nye linje til det eksisterende indhold.

Desedkommando lader os også indsætte tekst på et bestemt linjenummer. Hvis du f.eks. vil tilføje en linje efter den tredje linje, skal du bruge3i stedet for$tegn.
sed -i '3 a appending a new line after the third line' mte.txt
Bortset fra disse kommandolinjeværktøjer kan du også bruge teksteditorer som Nano og Vim til at tilføje indhold på et hvilket som helst bestemt sted.
Omdirigering af standardoutput og standardfejl til en fil
I Linux kan du omdirigere både standardoutput og standardfejl for en kommando til den samme fil. Dette er nyttigt, når du vil gemme alle kommandoresultater og fejlmeddelelser ét sted til gennemgang. For eksempel, hvis du vil optage både vellykkede og mislykkede output af ls-kommandoen (såsom når nogle mapper ikke eksisterer).
ls /etc /unknown >> output.log 2>&1Her,1refererer til standard output, og2henviser til standardfejlen.

I dette eksempel viser systemet indholdet af "/etc", fordi det er et gyldigt bibliotek, men det viser en fejlmeddelelse for "/unknown", da det ikke eksisterer. Kommandoen tilføjer både output og fejlmeddelelse til filen "output.log".
Indpakning
Tilføjelse af tekst til en fil er en nyttig færdighed til at administrere logfiler, automatisere scripts og gemme kommandooutput uden at miste data. At lære disse kommandoer hjælper dig med at opdatere filer effektivt og forhindre utilsigtet overskrivning. Du kan også udforske mere nyttige værktøjer til effektivt at arbejde med tekst på kommandolinjen for at forbedre din kommandolinjeproduktivitet.










![[Tip] Sådan fjerner du Black Border Outline, når du klikker inde i tekstindtastningsfeltet i Google Chrome](https://media.askvg.com/articles/images8/Chrome_Shows_Black_Border_Outline_Highlighting_Focused_Text_Input_Boxes.png)

