Sida 1 av 1

ls | sort [LÖST]

Postat: 05 jun 2007, 10:50
av Pinky
Hej!
Vi läser för tillfället en kurs i skolan om operativsystem, och just nu är vi inne på just linux. Meningen med en uppgift är att vi ska förstå vad pipes är, och det har jag ganska bra koll på (man har ju kört några grep på sistonde :P). I vilket fall så fick vi den här uppgiften på en labb:
  By using pipe, ls and sort, print the files in a directory according to the time (clock) when
they were modified
Jag kan för mitt liv inte komma på hur sjutton jag ska göra. ls -t funkar ju fint, men så får jag ju inte göra :P Och att googla på något så specifikt går ju inget vidare, fastän vi får göra det.

Någon som har en ledtråd i bakfickan??  :)

SV: ls | sort

Postat: 05 jun 2007, 11:11
av Barre
sort har en parameter som heter -k ,som står för "key". Detta avgör vilket fält som skall sorteras och tar två parameterar n,m där n är startfält för sortering och m är slutfält för sortering.

-t som parameter till sort avgör vilken "fält separator" som skall användas,tab är default tror jag.

nu sitter jag vid en windowsburk så jag kan inte testa riktigt... så det är möjligt att detta inte fungerar.
som om du gör en ls -l så får du ut den mesta informationen från filen och pipar detta till sort, jag tror att datumfältet ligger på fält 6 (kan ha fel) så borde kommandot se ut så här:
ls -l | sort -k6,7

SV: ls | sort

Postat: 05 jun 2007, 11:31
av Pinky
Tack Barre! Du är guld!  ;D

SV: ls | sort

Postat: 05 jun 2007, 11:44
av Konservburk
Pinky skrev:
   By using pipe, ls and sort, print the files in a directory according to the time (clock) when
they were modified
Jag kan för mitt liv inte komma på hur sjutton jag ska göra. ls -t funkar ju fint, men så får jag ju inte göra :P
Får och får... Det enda som står är att du ska anväda
"pipe", ls och sort för att göra det hela.

Jag ser inte att det uttryckligen står att just sort
ska sköta sorterandet. Du kan ju låta ls ta hand om
den biten och bara slänga med en onödig sort som
inte gör någonting i pipelinen...

T.ex. så här:

Kod: Markera allt

ls -t | sort -m
Eller bakvänt:

Kod: Markera allt

: | sort | ls -t

SV: ls | sort

Postat: 05 jun 2007, 11:57
av Pinky
Haha så kan man ju också göra :P men det förtar ju hela meningen med det  ::)
Men jag skrev faktiskt i min rapport att jag hittade ls -t först, men för att följa hans instruktioner så körde jag med sortgrejen