Tilføj indhold i fil med cat
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 in to post comments
Kommentarer5
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
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
Tak, det virker...
Findes der en commando til at indsætte et "tab" mellemrum
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
Mange tak for hjælpen...
Det virker perfekt.. Tak igen for svaret.