Citat:
Ursprungligen postat av Drakjägarn
Hur gör man istället för att lägga till en rad till utdatan med awk eller sed?
awk '/$nummer/ {print}' utdata skriver bara det inlästa till skärmen.
Jag vet inte om jag förstår din fråga korrekt.
Vill du bara byta ut ett nummer/ord i en rad?
sed -i 's/dettavilljagbytaut/dettaärmittnyavärde/g' indata.txt
eller om du väljer att ha en variabel, då blir det lite annorlunda...
sed -i "s/$minvariabel/mittnyavärde/g" indata.txt
Som jag sa tidigare, så är awk lite krångligare och förstå, men jag drar en rad, så du ser.
awk '{gsub(/dba/,"lala");print > FILENAME}' /etc/passwd
Vad den gör är att den letar upp "dba" oh byter ut det mot "lala" och sparar det i filen.
Nu var detta ett dåligt exempel eftersom endast root har skrivrättigheter på /etc/passwd, men du fattar nog.