» »

Bash izpis datotek

Bash izpis datotek

ta_pravi ::

Pozdravljeni,

kako bi v Bashu izpisal vse datoteke v danem direktoriju in vseh njegovih poddirektorijih? Pa direktorij bi podal kot argument.
LP

[edit: popravil typo v imenu teme]
ta_pravi
  • spremenil: Gundolf ()

R33D3M33R ::

S komando ls: http://www.computerhope.com/unix/uls.htm
Parametre izberi sam kot ti ustrezajo, verjetno boš rabil -R za poddirektorije, vse pa zapišeš v datoteko s pomočjo echo ls [argumenti] > mojadatoteka.txt
Moja domača stran: http://andrej.mernik.eu
Na spletu že od junija 2002 ;)
:(){ :|:& };:

ta_pravi ::

in kako bi pol te datoteke posortiral po datumu?:)
ta_pravi

OrkAA ::

ls --help

za ta specifičen primer pa recimo: ls -lrt

ta_pravi ::

meni je problem k mam recimo ls -lrt /pol pa bi tuki še podau direktorij/ ... sam mi vedno napiše da ga ne najde, pa sigurno obstaja! Direktorij bi recimo podal kot argument $1.
ta_pravi

OrkAA ::

Če ne obstaja, potem ne obstaja. Najprej si poglej kako izgleda struktura direktorijev v linuxu, ker sem prepričan, da direktorij podajaš napačno.

Velika razlika je med: dir/ in /dir

ta_pravi ::

ok to sm pogruntu:) sm narobe pisau argument...
sam zdej recimo k mi najde vse datoteke v določenem direktoriju in njegovih poddirektoriji, bi jaz rat te datoteke izpisal urejeno po datumu. On pa mi recimo ko uporabim ukaz ls -lrt izpise datoteke in mape, jaz pa bi rad sam vse datoteke naenkrat...
ta_pravi

R33D3M33R ::

Po datumu tako ali tako sortiraš s pomočjo vgrajenih argumentov, če je datoteka ali dir pa preveriš tako, da preverjaš če je datoteka ali ne...

if [ -f "$datoteka" ]
Moja domača stran: http://andrej.mernik.eu
Na spletu že od junija 2002 ;)
:(){ :|:& };:

redo ::

Če nimaš novih vrstic v imenih datotek (in če te zanimajo samo navadne datoteke) potem morda kaj takega
find "$1" -type f -printf "%TY%Tj%TH%TM,%p\n" | sort -nk1,1 -t, | cut -c13-

Poglej si v manual od find, če hočeš vedeti, kaj so tile %TY, ... in jih ustrezno zamenjaj s tem kaj točno hočeš.

Če pa imaš kakšne nove vrstice, potem pa morda kaj takega
find "$1" -type f -printf "%TY%Tj%TH%TM,%p\0" | sort -znk1,1 -t, | \
awk -v RS='\0' '{sub(/^[0-9]+,/,""); print $0}'

Seveda, ko pošlješ to naslednjemu programu, če lahko, mu povej da so imena ločena s '\0'. Če ne, se pa znajdi kako drugače.

ta_pravi ::

Ej hvala! :) pomagalo ful!!!

lahko noč
ta_pravi

darkolord ::

get-ChildItem \ | Where-Object {!($_PSIsContainer)} | 
Sort-Object -property LastWriteTime


:D

Zgodovina sprememb…

  • spremenilo: darkolord ()

BigWhale ::

get-ChildItem \ | Where-Object {!($_PSIsContainer)} | 
Sort-Object -property LastWriteTime


:D


Darko, to dela sam na enih cudnih operacijskih sistemih :>


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Powershell primerjaj in kopiraj

Oddelek: Programiranje
61038 (675) Blisk
»

Pretvorba skripte iz Powershell v Bash

Oddelek: Operacijski sistemi
71387 (1193) c3p0
»

[bash] Sortiranje fotografij po datumu

Oddelek: Programiranje
101443 (1004) Mike0
»

Pomoč pri ukazih v linuxu

Oddelek: Operacijski sistemi
101473 (1117) brodul
»

[UNIX] arg list too long

Oddelek: Programiranje
331932 (1187) bijonda

Več podobnih tem