User:Vkolesni

From ICO wiki
Jump to navigationJump to search

Bash quest

Luua skript, mis otsiks etteantud kataloogist ühesuguseid faile. Failide võrdlemine võiks toimuda md5sum tasandil. Loodav skript peaks olema suuteline leidma kõikide ühesuguste failide asukoha ja kuvama ka nende nimed.


Näideks failidel võivad olla erinevad nimed, kuid sama sisu :

fca209683890bb2a02c60535ca82f920 joujou

fca209683890bb2a02c60535ca82f920 tere

fca209683890bb2a02c60535ca82f920 hello

fca209683890bb2a02c60535ca82f920 asd


Quest8 lahendus

#!/bin/bash
#Autor: Vladimir Kolesnik, vkolesni@itcollege.ee
#Versioon 0.5
#Antud skript otsib etteantud kataloogist ühesuguseid faile. Failide võrdlemine toimub md5sum tasandil. 
#Skript leiab ja kuvab kõikide ühusuguste failide asukoha ja nimed.
#Skripti kasutamiseks liiguge kataloogise, kus on vaja otsida ühesuguseid faile ja käivitage skripti sudo õigusega
 
#kontrollib, kas on piisavalt õigusi skripti käivitamiseks 
if [ $UID -ne 0 ]; then
 
echo "Käivita skripti $(basename $0) juurkasutaja õigustes: sudo"
exit 1
 
fi

#Otsimine ainult faile (-type f), mida ei ole tühjad(-not -empty), ning määratleme print formati ("%s\n")
find -not -empty -type f -printf "%s\n" |

#Sorteerime descending (reverse) numeric järgi
sort -rn | 

#Ainult printimine dublicated unikaalsed faile
uniq -d | 

#Kasutame käsu "xargs" selleks, et asendama ("I") {} argumenti listiga
xargs -I{} -n1 find -type f -size {}c -print0 | 

#Võtame ainult md5summi, mis ei sisalda komasi ega tühikuid ("-0")
xargs -0 md5sum | 

#Sorteerimine
sort | 

#Võtame ainult 32 numbri ("-w32") võrdlemiseks
uniq -w32 --all-repeated=separate

PowerShell


#*****************************************************************
#
#   Skripti nimi:  malu_check.ps1
#   Versioon:  1.0
#   Autor:  Vladimir Kolesnik
#   Kuupäev:  17. mai, 2011
#
#   Selgitus: Antud skript kõike protsessi mille mälu on üle 1MB
#   ja vormistab sisendi faili HTML kujul 
#
#*****************************************************************

# Võtame protsesside nimekirja
Get-Process |

# Võtame ainult neid protsesse, kus mälu on üle 1MB
Where-Object {$_.WS -ge 1048576} |

# Sorteerime suuremast väiksemaks
Sort-Object WS –desc |

# Vormistame HTML kujul C:\www kaustas
ConvertTo-html -property Name,WS > C:\www