Trädvy Permalänk
Medlem
Registrerad
Okt 2006

uniq-kommando. Hjälp

Är varken någon programmerare eller unix-kille och behöver lite hjälp

jag har en fil med listade filnamn och tillhörande versionsnr med ett space-tecken emellan. tex:
/map/file.txt 1.3
/map/file.txt 1.2
/map/file.txt 1.1
/map/anohterfile.txt 1.1

Om det är samma fil flera ggr så vill jag få ut endast filen med det senaste (högsta) versionsnumret. följaktligen önskar jag få ut:
/map/file.txt 1.3
/map/anotherfile.txt 1.1

jag försöker använda uniq men vet inte hur jag ska få den att sortera på endast själva filnamnet och inte versionsnumret.

Någon?

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Okt 2006

for i in `ls -1 | cut -d " " -f 1 | uniq`; do ls -1 ${i}* | sort -r | head -1 done

så, have fun

(entity@thor ~/temp): ls -al total 4 drwxr-xr-x 2 entity entity 512 Oct 23 19:16 ./ drwxr-x--- 21 entity entity 1536 Oct 23 19:12 ../ -rw-r--r-- 1 entity entity 0 Oct 23 19:12 bar 1.2 -rw-r--r-- 1 entity entity 0 Oct 23 19:12 bar 1.3 -rw-r--r-- 1 entity entity 0 Oct 23 19:12 bar 1.4 -rw-r--r-- 1 entity entity 0 Oct 23 19:16 baz 1.2 -rw-r--r-- 1 entity entity 0 Oct 23 19:12 foo 1.2 -rw-r--r-- 1 entity entity 0 Oct 23 19:12 foo 1.3 -rw-r--r-- 1 entity entity 0 Oct 23 19:12 foo 1.4 (entity@thor ~/temp): for i in `ls -1 | cut -d " " -f 1 | uniq`; do > ls -1 ${i}* | sort -r | head -1 > done bar 1.4 baz 1.2 foo 1.4 (entity@thor ~/temp):

"Stallman to Dvorak: Welcome to freedom, your rulebook is in the mail" - Fake Steve Jobs
rfc-1925 - The Twelve Networking Truths