Avatar billede jkjaers Nybegynder
24. november 2002 - 18:44 Der er 8 kommentarer og
1 løsning

Hvordan skriver AWK til fil

Vi har lavet et lille awk-script.

finduid:

BEGIN { FS ":" }
NR==1 { uid = $3}

Dette script finder det tredie ord/tal adskilt af :

Så langt så godt. Problemet opstår når vi skal bruge værdien. Det har endnu ikke været muligt for os at skrive dette tal til en fil (eller til en variabel)

Vi kalder kommandoen med

awk -f finduid lastuid

Hvordan gør vi.
Avatar billede htm Nybegynder
24. november 2002 - 19:32 #1
du kan skrive
echo | tail -n 1 /etc/passwd | cut -d ':' -f3 > filnavn
Avatar billede htm Nybegynder
24. november 2002 - 19:33 #2
For at få filnavnet UID til filen filnavn
Avatar billede jkjaers Nybegynder
24. november 2002 - 20:01 #3
OK, er dermed gemt, men hvordan hentes den igen ind i en variabel

Målet er at værdien skal opfanges, der skal ligges 1 til og derefter skal den nye værdi indsættes som brugerID
Avatar billede htm Nybegynder
24. november 2002 - 20:17 #4
Hvad med:
VAR=cat filnavn

Så ligger det i variablen VAR
Avatar billede jkjaers Nybegynder
24. november 2002 - 20:24 #5
Det accepterer den ikke. Brokker sig over at filnavnet ikke er en fil (hvilket det er)
Avatar billede jkjaers Nybegynder
24. november 2002 - 20:26 #6
rettelse
filnavn: command not found

(vi er klar over at filnavn er erstattet af vores eget filnavn)
Avatar billede jkjaers Nybegynder
24. november 2002 - 20:57 #7
OK koden ser sådan ud indtil videre

echo | tail -n 1 /etc/passwd | cut -d ":" -f3 > lastuid
grep [0-9] lastuid > uid
echo $uid

Det er her uid ikke har nogen værdi.
skriver man blot:

grep [0-9] lastuid

returneres den rigtige værdi. Men når jeg forsøger at lægge den i variablen uid kommer den ikke med.

Planen er som tidligere nævnt at fange variablen (tal) og lægge 1 til værdien
Avatar billede htm Nybegynder
24. november 2002 - 23:22 #8
OK det kan du gøre på denne måde:
last=`tail -n 1 /etc/passwd | cut -d ':' -f3`
sum=`expr $last + 1`
echo $sum

skulle gerne udskrive det sidste UID+1.
Og læg mærke til at de bliver omkranset af appstrof som ligger ved siden af backspace og ikke almindelig skilletegn! Den der skal bruges er ` og ikke '
Avatar billede jkjaers Nybegynder
25. november 2002 - 17:18 #9
Det var simpelthen det sidste vi manglede.

Endnu en gang mange tak for hjælpen htm
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester