• 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 1 måned 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 1 måned 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 1 måned 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 1 måned 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 1 måned 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

Østrigsk ministerium smider Microsoft ud til fordel for Nextcloud 0
Internettet er ved at dø. Vi kan stadig stoppe det 0
Tid til at lære noget igen 0
TPM 2 0
BigLinux 0

Seneste aktivitet

Brug carburetor til at forblive usynlig online 8
Sådan konfigurerer du flatpaks' flathub til verified only 9
Plasma tapet-skifter 3
How to upgrade to LMDE 7 4
Virksomheder og enheder der kører på Linux 11
NordVPN har udgivet kildekoden til sin grafiske brugergrænseflade 2
Flere og flere bruger Brave browseren 1
LibreOffice og Collabora: Hvorfor er de ikke i skolerne i stedet for Word og Google Docs? 11
Firewall igen 5
Værdien ved open source 2
Sailfish på android telefon 1
Ladybird Browser 7
Satiriske ordspil 3
Kan ikke boote på installation 26
Tilføj signatur til Evolution mail 2
LUKS kryptering - Er der andre der bruger det 15
Dansk distro til software udviklere 2
Linux Debian 5
Brother printer installation 2
Den er go 6

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !