Välkommen till linuxportalen.se!

Linuxportalen.se är Sveriges största och aktivaste webbplats för användare av öppen- och fri programvara.

Du besöker Linuxportalen.se som gäst vilket begränsar din möjlighet att använda webbplatsens alla funktioner. Genom att registera dig som medlem får du inte bara möjlighet att söka bland webbplatsens innehåll, skapa nya och delta i befintliga diskussioner, skapa din egen blogg, kommunicera med andra medlemmar genom privata meddelanden och delta i omröstningar. Du får också tillgång till Veckans Kadavro - en seriestrip unikt skapad för Linuxportalen.se!

Registeringen sker snabbt och är helt kostnadsfri - tveka inte, bli medlem idag!

Ändra output från script. Dela av outputen på fler rader.

 Jag har problem med detta script. vet inte hur jag ska gå till väga för att fixa det, går det?
problem ett, (Löst) " fold --width=80 --spaces "
Den ger all output på en lång rad. Går det att dela denna string på fler rader efter tex antal tecken? Samtidigt vill man ju inte att den bryter av mitt i tex BB C.

Det den visar är tex ABC ABC ABC BBC BBC osv.. Vill ha möjlighet att ändra outputen på något sätt.
La till "fold --width=80 --spaces" det verkar göra det jag vill.

problem två,  (löst) " awk '{ $1 = $1; print }' "
Visar man endat "GRPS" börjar raden som den ska men om man visar "SORTED2"
Så börjar den med 1 space. Antar att de har något med att man använder "IGNORE" går det att ordna?

Problem tre.
Hur kan man göra för att ha flera värden i IGNORE?

Vill gärna ha förslag på att förbättra detta. 
 

<code>
#!/bin/bash

CFG="/path/pre.cfg"

IGNORE="Siteop"
GRPS="$(grep "^group." $CFG | grep ".dir" | cut -d'.' -f2 | xargs)"
SORTED1="$(echo "$GRPS" | awk -F $IGNORE {'print $2'}| tr " " "\n" |sort)"
SORTED2="$(echo "$SORTED1" | tr "\n" " " | fold --width=80 --spaces | awk '{ $1 = $1; print }') "
echo "$AFFILS"
echo "After"
echo "$SORTED2"
</code>

pre.cfg innehåller

group.Siteop.dir=/paht/Siteop

Alternativ för kommentarvisning

Välj ditt önskade sätt att visa kommentarerna och klicka på "Spara" för att verkställa dina ändringar.

hoths bild

awk är ett fantastiskt program med stora möjligheter. Det är ett tämligen komplett programspråk. Man kan anropa en fil med awk-script. Finns tjocka böcker skrivet om awk. Men, det är ibland lite trickigt att få till.

Vill du bryta utskrift på vissa ord kan man använda FS (field separator), man kan använda sed för att byta ut ord, för att skaffa sig en och samma FS.

Jag brukar stapla en 3-6 kommandon efter varandra per rad för att formatera som jag vill. Typiskt är cat, grep, awk, sed och tr är några av mina favoriter.

----
Linux växer snabbast!