Sziasztok,
az alábbi sorban hogyan tudnám a fileneveket lecserélni, hogy a $2 helyett az (ls -l $2) jelenjen meg?
find -type f -exec md5sum {} \; | awk '{ print $1" "$2}'
(mert időadatokra is szükségem van, nem csak az md5-re)
Egyébként tudtok ajánlani kezdő bash script listát? (Büki A. könyv megvan, ne javasold ;) )
István
- 1250 megtekintés
Hozzászólások
system()
vagy a find-nek adsz egy -ls -exec párost, aztán lesznek szép kétsoros rekordjaid, amiket össze lehet fésülni, iletve:
find . -type f -ls -exec md5sum {} \; |
awk 'NF>2 { printf "%s %s %s %s ", $8, $9, $10, $11;
getline;
print $1
}'
- A hozzászóláshoz be kell jelentkezni
Hogyan van a system() helyes szintaktikája? Variáltam, sehogy nem tetszik neki:
find -type f -exec md5sum {} \; | awk '{ print $1 " " \
system(ls -l $2) }'
Tnx, István
- A hozzászóláshoz be kell jelentkezni
System helyett $(ls -l $2)? Nem tudom, működne-e így, próbáld ki.
- A hozzászóláshoz be kell jelentkezni
Így nem ok, a greyow-féle
find -type f -printf "%t " -exec md5sum {} \;
a nyerő, csak kíváncsi lettem a system() szintaktikájára.
Üdv, István
- A hozzászóláshoz be kell jelentkezni
Advanced Bash Scripting Guide a tldp-n vagy akárhol a neten.
- A hozzászóláshoz be kell jelentkezni
Tnx!
- A hozzászóláshoz be kell jelentkezni
find -type f -printf "%t " -exec md5sum {} \;
konyv:
Brian W. Kernighan / Rob Pike
A UNIX operacios rendszer
utana man (find)
- A hozzászóláshoz be kell jelentkezni
Ez nagyon frappáns, köszönöm!
István
- A hozzászóláshoz be kell jelentkezni
A -printf ha jól tévedek csak a gnu-s find által használt/ismert kifejezés...
- A hozzászóláshoz be kell jelentkezni