ls | sort [LÖST]

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
Användarvisningsbild
Pinky
Inlägg: 1258
Blev medlem: 30 jan 2007, 15:59
OS: Fedora
Ort: Kristianstad/Sverige
Kontakt:

ls | sort [LÖST]

Inlägg 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??  :)
Senast redigerad av 1 Pinky, redigerad totalt 5 gånger.
Användarvisningsbild
Barre
Inlägg: 2298
Blev medlem: 13 dec 2006, 10:23
OS: Ubuntu
Ort: Stockholm
Kontakt:

SV: ls | sort

Inlägg 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
________________________________________________________________
twitter @ BarreGargamel
blogg @ Gargamel.NU
Användarvisningsbild
Pinky
Inlägg: 1258
Blev medlem: 30 jan 2007, 15:59
OS: Fedora
Ort: Kristianstad/Sverige
Kontakt:

SV: ls | sort

Inlägg av Pinky »

Tack Barre! Du är guld!  ;D
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

SV: ls | sort

Inlägg 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
Användarvisningsbild
Pinky
Inlägg: 1258
Blev medlem: 30 jan 2007, 15:59
OS: Fedora
Ort: Kristianstad/Sverige
Kontakt:

SV: ls | sort

Inlägg 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
Skriv svar

Återgå till "Terminalforum"