• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af peters | 14.09.2010 00:53

Tilføj indhold i fil med cat

Programmering
Jeg har en txt fil med 250.000 linier og der vil jeg for enden af disse gerne have tilføjet noget indhold, det skal være det samme der skal tilføjes alle linierne.

Men jeg kan ikke få det til at fungere med en cat burde det ikke være muligt? hvis ikke hvad vil i gøre?
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer5

# 1

15 år 4 måneder siden

Permalink

Indsendt af divineant den 14. september 2010 kl. 01:32

Permalink

Det du leder efter er output

Det du leder efter er output redirection:
>> tilføjer til slutningen af en fil
> overskriver indholdet af en fil


# tilføj enkelte linier
echo "tilføjes til slutningen" >> tekstfil.txt
echo "overskriver" > tekstfil.txt

# cat flere filer sammen
cat fil1.txt fil2.txt fil3.txt > alle.txt
cat fil4.txt >> alle.txt


og mere specifikt det du leder efter er nok noget i retningen af det her:

cat > filnavn.txt << EOF
Denne tekst vil overskrive
alt hvad der er i filnavn.txt
fordi jeg kun brugte en enkelt > efter cat
EOF

cat >> filnavn.txt << EOF
Derimod vil denne blok blive tilføjet
i bunden af filnavn.txt
EOF

  • Log ind eller opret dig for at tilføje kommentarer

# 2

15 år 4 måneder siden

Permalink

Indsendt af divineant den 14. september 2010 kl. 01:51

Permalink

Hov, jeg misforstod da vist

Hov, jeg misforstod da vist dit spørgsmål, du vil tilføje den samme tekst til samtlige linier.

Det kan du gøre med sed

sed 's|$|tilføjes|g' -i filnavn.txt

eller smid output i en ny fil

cat filnavn.txt | sed 's|$|tilføjes|g' > ny_fil.txt

eller traverser alle linier manuelt

cat filnavn.txt | while read line; do
if procedure_der_tester_på $line; then
echo $line tilføjes
fi
done > ny_fil.txt
  • Log ind eller opret dig for at tilføje kommentarer

# 3

15 år 4 måneder siden

Permalink

Indsendt af peters den 14. september 2010 kl. 03:35

Permalink

Tak, det virker...

Findes der en commando til at indsætte et "tab" mellemrum

  • Log ind eller opret dig for at tilføje kommentarer

# 4

15 år 4 måneder siden

Permalink

Indsendt af divineant den 14. september 2010 kl. 09:25

Permalink

Det kan du også med

Det kan du også med sed,echo og cat
sed:

sed 's|$|\tmed tabulator|g' -i filnavn.txt


echo:

echo -e "\tmed tabulator"


cat:

cat >> filnavn << EOF
cat skriver præcis hvad du skriver, incl specialtegn
som f.eks tabulator
EOF
  • Log ind eller opret dig for at tilføje kommentarer

# 5

15 år 4 måneder siden

Permalink

Indsendt af peters den 14. september 2010 kl. 14:42

Permalink

Mange tak for hjælpen...

Det virker perfekt.. Tak igen for svaret.
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

GRUB 2.14 introducerer understøttelse af EROFS, forbedringer til Btrfs og LVM 0
KDE Plasma 6.6 tilføjer en funktion, som brugerne har spurgt efter i evigheder 0
Linux i København 12.01.2026: Open source i det offentlige 0
Dansk distro Omarchy 0
KDE overgår indsamlingsmålet for 2025 med rekordstor støtte fra lokalsamfundet 0

Seneste aktivitet

BigLinux 1
E-mail blues 6
Linux Mint 22.3 - hvornår opdatere? 10
Canon-printer: Jeg savner "Ink-Toner Level"-meddelelse 10
billede af nuværende installation 2
mapper 4
LinuxIn live 9
Linux Debian på ekstern HD 4
usb disk *LØST* 2
Pacman kunne erstattes af en anden Rust baseret mulighed 1
Epson skanner software 8
Debian 1
Printer Epson ET-2865 problem 8
Winboat 4
Nu kan man skrive private beskeder 14
Mint på imac 2009 34
Firefox AI 7
Kunstig inteligens 6
Kopiering til min Samsung telefon 9
Installation af programmer 21

© 2026 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !