Vinnaren i pepparkakshustävlingen!
2014-08-28, 20:13
  #1
Medlem
Hej!

Om jag ska sortera den här filen: http://puu.sh/bbBLV/ca929319fb.png så att födelsedatumen kommer i stigande ordning så borde rätt svar vara: sort -k 4 -t namnPåTxtFilen, enligt mig. Men det rätta svaret var: sort -k 4 -t : namnPåTxtFilen. Kan någon förklara varför man skriver ett kolon innan filnamnet?
Citera
2014-08-28, 20:27
  #2
Moderator
vhes avatar
-t-flaggan berättar vad för tecken som separerar olika kolumner. Normalt antar sort att det är space eller tab (om jag inte missminner mig) som är kolumn-separator. -t: säger alltså till sort att när du pratar om kolumn 4, så är det kolon den skall använda för att avgöra vad som ligger i vilken kolumn.

[edit]: spektakulärt jobbigt sätt du valde att visa filens innehåll förresten. Varför inte klistra in innehållet här, eller i en pastebin. Bilder är ondska.
Citera
2014-08-28, 21:17
  #3
Medlem
.Chloes avatar
man sort
Citat:
-t, --field-separator=SEP
use SEP instead of non-blank to blank transition
Man kan även använda cut:
Kod:
cut -d":" -f4 namnPåTxtFilen
Fast absolut är sort bäst lämpad för denna uppgift då du måste pipa ut output från cut för att få resultatet stigande.
Citera
2014-08-28, 21:43
  #4
Medlem
Citat:
Ursprungligen postat av vhe
-t-flaggan berättar vad för tecken som separerar olika kolumner. Normalt antar sort att det är space eller tab (om jag inte missminner mig) som är kolumn-separator. -t: säger alltså till sort att när du pratar om kolumn 4, så är det kolon den skall använda för att avgöra vad som ligger i vilken kolumn.

[edit]: spektakulärt jobbigt sätt du valde att visa filens innehåll förresten. Varför inte klistra in innehållet här, eller i en pastebin. Bilder är ondska.

Citat:
Ursprungligen postat av .Chloe
man sort

Man kan även använda cut:
Kod:
cut -d":" -f4 namnPåTxtFilen
Fast absolut är sort bäst lämpad för denna uppgift då du måste pipa ut output från cut för att få resultatet stigande.

Okej så om det är ett kolon som skiljer kolumner åt istället för mellanslag eller tab använder man kolon innan man skriver namnet på filen i kommandot?
Citera
2014-08-28, 23:59
  #5
Moderator
vhes avatar
Citat:
Ursprungligen postat av pkj
Okej så om det är ett kolon som skiljer kolumner åt istället för mellanslag eller tab använder man kolon innan man skriver namnet på filen i kommandot?

Nej, om något annat än space/tab är kolumnseparator så skriver man det som argument till respektive flagga. -t för sort, eller som .Chloe påpekade, -d för cut. Du kan kasta om dina options, så kolonet inte hamnar precis före filnamnet;

sort -k 4 -t : filenfil.txt är ekvivalent med sort -t : -k 4 filenfil.txt. Mellanslag mellan flagga och argument till flagga är inte nödvändigt, så du kan även skriva sort -t: -k4 filenfil.txt.

Läs manualsidorna. No, really. Läs dem. Det är oerhört informativt.
Citera
2014-08-29, 17:31
  #6
Medlem
Citat:
Ursprungligen postat av vhe
Nej, om något annat än space/tab är kolumnseparator så skriver man det som argument till respektive flagga. -t för sort, eller som .Chloe påpekade, -d för cut. Du kan kasta om dina options, så kolonet inte hamnar precis före filnamnet;

sort -k 4 -t : filenfil.txt är ekvivalent med sort -t : -k 4 filenfil.txt. Mellanslag mellan flagga och argument till flagga är inte nödvändigt, så du kan även skriva sort -t: -k4 filenfil.txt.

Läs manualsidorna. No, really. Läs dem. Det är oerhört informativt.

Okej tack så mycket, då förstår jag!
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback