Sida 1 av 1
SV: Ta ut del av sträng till variabel?
Postat: 12 sep 2007, 22:56
av johanre
Menar du t.ex.
Kod: Markera allt
datum=`cat $TIFF.Ifd0.Exif.DateTimeOriginal | awk -F" " '{print $1}' `
SV: Ta ut del av sträng till variabel?
Postat: 13 sep 2007, 02:05
av DeepThought
Haha, jag satt och funderade på det här precis, så kommer frågan! Ber om ursäkt för att jag trampar in, men eftersom jag precis lyckades med samma sak måste jag skriva
Mitt problem var att sortera ut paketnamn, vilket resulterade i följande:
apt-cache dumpavail | grep "Package:" | gawk -F: '{print $2 }' | sort
Men jag hittade följande, vilket kanske gjorde ovanstående överflödigt?
apt-cache pkgnames | sort
F.ö. verkar de verkar returnera ungefär samma, men det första ger bara ~23000 träffar, och det andra ger ~30000 träffar

Beror kanske på att vissa paket som listas inte är tillgängliga..
Nåväl, till mitt problem: när jag kör
gawk -F: '{print $2 }' så får jag ett mellanslag först på raden när den skrivs ut (d.v.s. det mellanrum som finns mellan Package: och paketnamnet). Varför? Hur blir jag av med det?
SV: Ta ut del av sträng till variabel?
Postat: 13 sep 2007, 04:38
av Konservburk
DeepThought skrev:
Nåväl, till mitt problem: när jag kör gawk -F: '{print $2 }' så får jag ett mellanslag först på raden när den skrivs ut (d.v.s. det mellanrum som finns mellan Package: och paketnamnet).
DeepThought skrev:
Varför?
Eftersom du sätter fältseparatorn till kolon (-F:) så kommer
$2 att bli allt mellan det det första och (eventuellt) andra
kolonet, inklusive mellanrum.
DeepThought skrev:
Hur blir jag av med det?
T.ex.
Kod: Markera allt
apt-cache dumpavail | awk '/^Package: /{print $2}'
SV: Ta ut del av sträng till variabel?
Postat: 13 sep 2007, 07:41
av DeepThought
Ah! Nu trillade två poletter ner
Tack!
SV: Ta ut del av sträng till variabel?
Postat: 14 sep 2007, 23:54
av Konservburk
Håkan skrev:
Har klarat få ut datum delen till en variabel

. Skulle nu behöva byta datum format på variabeln från 2007:09:01 till 2007-09-01.
exempel
Kod: Markera allt
hakan@Bilbo-laptop:~/test$ datum=2007:09:01
hakan@Bilbo-laptop:~/test$ echo $datum
2007:09:01
Kod: Markera allt
bash$ datum=2007:09:01
bash$ echo ${datum//:/-}
2007-09-01
SV: Ta ut del av sträng till variabel?
Postat: 15 sep 2007, 15:34
av Konservburk
Håkan skrev:
Det har visat sig att datumet ligger på lika ställen beroende på filtyp. Använder följande kod för att få ut strängen när bilden är tagen
Kod: Markera allt
text=`exifgrep Exif.DateTimeOriginal _DSC0801.NEF`
Nu skulle jag vilja få datumet i till en variabel gärna med - istället för :
Kod: Markera allt
datum=$(exifprobe -L _DSC0801.NEF | awk -F"[ ':=]*" '/Exif.DateTimeOriginal/{print $2 "-" $3 "-" $4}')
Om du vill ha ut datumet på formen YYYY-MM istället så kan du
helt enkelt strunta i att ta med "-" $4, dvs {print $2 "-" $3}.