Manipulera text... skippa dubletter

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
civilpolisen
Inlägg: 99
Blev medlem: 18 nov 2020, 14:52
OS: Ubuntu
Utgåva: 20.04 Focal Fossa LTS

Manipulera text... skippa dubletter

Inlägg av civilpolisen »

Kod: Markera allt

$ debsecan --suite $(lsb_release --codename --short) --source 
https://raw.githubusercontent.com/BBVA/ust2dsa/data/ --whitelist fossa_whitelist.txt 
|grep -v fixed|grep -v "low urgency" |sort -n | uniq -u >> 2021-03-23.txt
Denna koden (i en lång rad, märk väl!) genererar en lista, om man har debsecan installerat.

Delar av denna lista ser ut...

Kod: Markera allt

CVE-2020-8201 nodejs (medium urgency)
CVE-2021-22883 nodejs-doc (medium urgency)
CVE-2021-22883 nodejs (medium urgency)
CVE-2021-22884 nodejs-doc (medium urgency)
CVE-2021-22884 nodejs (medium urgency)
CVE-2021-25289 python3-pil (medium urgency)
CVE-2021-25289 python-pil (medium urgency)
CVE-2021-25291 python3-pil (medium urgency)
CVE-2021-25291 python-pil (medium urgency)
CVE-2021-27291 python3-pygments (medium urgency)
CVE-2021-3347 linux-headers-4.15.0-136-generic (medium urgency)
CVE-2021-3347 linux-headers-4.15.0-136 (medium urgency)
CVE-2021-3347 linux-headers-4.15.0-137-generic (medium urgency)
CVE-2021-3347 linux-headers-4.15.0-137 (medium urgency)
CVE-2021-3347 linux-headers-4.15.0-139-generic (medium urgency)
CVE-2021-3347 linux-headers-4.15.0-139 (medium urgency)
CVE-2021-3347 linux-libc-dev (medium urgency)
CVE-2021-3347 linux-modules-4.15.0-136-generic (medium urgency)
CVE-2021-3347 linux-modules-4.15.0-137-generic (medium urgency)
CVE-2021-3347 linux-modules-4.15.0-139-generic (medium urgency)
CVE-2021-3347 linux-modules-extra-4.15.0-136-generic (medium urgency)
CVE-2021-3347 linux-modules-extra-4.15.0-137-generic (medium urgency)
CVE-2021-3347 linux-modules-extra-4.15.0-139-generic (medium urgency)
CVE-2021-3348 linux-headers-4.15.0-136-generic (medium urgency)
CVE-2021-3348 linux-headers-4.15.0-136 (medium urgency)
CVE-2021-3348 linux-headers-4.15.0-137-generic (medium urgency)
CVE-2021-3348 linux-headers-4.15.0-137 (medium urgency)
CVE-2021-3348 linux-headers-4.15.0-139-generic (medium urgency)
CVE-2021-3348 linux-headers-4.15.0-139 (medium urgency)
CVE-2021-3348 linux-libc-dev (medium urgency)
CVE-2021-3348 linux-modules-4.15.0-136-generic (medium urgency)
CVE-2021-3348 linux-modules-4.15.0-137-generic (medium urgency)
CVE-2021-3348 linux-modules-4.15.0-139-generic (medium urgency)
CVE-2021-3348 linux-modules-extra-4.15.0-136-generic (medium urgency)
CVE-2021-3348 linux-modules-extra-4.15.0-137-generic (medium urgency)
CVE-2021-3348 linux-modules-extra-4.15.0-139-generic (medium urgency)
Som alla kan se finns samma siffra med många gånger. Men med kommandon som "sort" och "uniq" så ska det bara vara en av varje nummer!

$ man uniq -- skriv i Terminalen för manual.

Nu är det inte en av varje, som alla kan se, där av denna frågan!
Hur gör jag för att slimma denna skriptslinga så det bara blir en av varje!
Jag fick inspiration till ovanstående bland annat genom denna länken:
https://www.cyberciti.biz/faq/unix-linu ... ate-lines/


* * * * * * * * * * * * * * * * *
Exempel från idag på när / var / hur CVE används.
https://thehackernews.com/2021/03/new-z ... other.html
Användarvisningsbild
Osprey
Inlägg: 6310
Blev medlem: 06 apr 2008, 00:09
OS: Ubuntu
Ort: Göteborg/Mölndal/Falkenberg
Kontakt:

Re: Manipulera text... skippa dubletter

Inlägg av Osprey »

Med "sort" och "awk" är det förmodligen rätt enkelt att fixa....
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
a_jonsson
Inlägg: 34
Blev medlem: 23 jan 2009, 14:36
OS: Debian

Re: Manipulera text... skippa dubletter

Inlägg av a_jonsson »

civilpolisen skrev: Nu är det inte en av varje, som alla kan se, där av denna frågan!
Hur gör jag för att slimma denna skriptslinga så det bara blir en av varje!
uniq tittar på hela raderna, inte bara första fältet. Om vi säger att du har din lista i en fil cvelist.txt så skulle man kunna få ut första fältet med kommandot "cut" samt ange att fält avgränsas med mellanslag, och sedan använda uniq:

Kod: Markera allt

$ cut -d " " -f 1 cvelist.txt | uniq
CVE-2020-8201
CVE-2021-22883
CVE-2021-22884
CVE-2021-25289
CVE-2021-25291
CVE-2021-27291
CVE-2021-3347
CVE-2021-3348
Användarvisningsbild
Osprey
Inlägg: 6310
Blev medlem: 06 apr 2008, 00:09
OS: Ubuntu
Ort: Göteborg/Mölndal/Falkenberg
Kontakt:

Re: Manipulera text... skippa dubletter

Inlägg av Osprey »

Med "sort" och "awk" kan du åstadkomma:

Kod: Markera allt

cat cvelist.txt | awk '{ print $1 }' | sort | uniq
...enda nackdelen är väl att du inte får ut texten från felmeddelandet, precis som i exemplet med "cut" ovan. Men det går som sagt var enkelt att ordna i ett script...

[EDIT] Och du kan givetvis köra "ls" som input, istället för en fil...
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
Skriv svar

Återgå till "Terminalforum"