lt gt penis Flashcards
<
-lt
>
-gt
<=
-le
> =
-ge
=
-eq
!=
-ne
Vytvořte proměnnou ALPHA, která obsahuje jednotlivé řádky s písmeny A až Z.
ALPHA=$( printf ‘%s\n’ {A..Z} )
Pomocí proměnné RANDOM vypište náhodný řetězec náhodné délky (max. 10 znaků). Použijte přitom proměnnou ALPHA .
A=$(wc -l «<”$ALPHA”)
(( L = RANDOM%10 + 1 ))
for ((i=1;i<=L;i++)); do
R=$(( RANDOM%A + 1 ))
printf ‘%c’ $(sed -n “${R}p” «<”$ALPHA”)
done
printf ‘\n’
Spusťte příkaz date 2x za sebou a zjistěte, zda se výstupy liší. Totéž proveďte 1000x a spočítejte (vypište) kolikrát se výstup lišil.
C=0
for ((i=1;i<=1000;i++)); do
A=$(date)
B=$(date)
[ “$A” != “$B” ] && ((C++))
done
echo “$C”
Zkuste vyřešit předchozí příklad bez testování shody výstupů dvou příkazů date (příkazem test/[).
C=0
echo $(( $( for ((i=1;i<=1000;i++)); do
{ date; date; } | uniq
done | wc -l ) - 1000 ))
Vytvořte proměnné X a O obsahující řetězce |/- , resp. .,oOo,. .
X=’|/-‘ O=’ .,oOo,.’
S prodlevou 0.1s přepisujte cyklicky jednotlivé znaky z obou proměnných na terminálu. Podřetězec proměnné se vypíšt pomocí ${prom:od:pocet} . Znak smažete pomocí ‘\b’ .
while sleep 0.1; do
printf ‘\b\b\b%s %s’ “${X:$((++x % ${#X} )):1}” “${O:$((++o % ${#O} )):1}”
done
Pro každou položku v aktuálním adreáři vypište jeden řádek s její velikostí (v bytech) a jejím jménem odděleným tabulátorem. Nepoužívejte příkaz ls, ale příkaz stat .
stat -c ‘%s %n’ *
for file in *; do
size=$( stat -c %s “$file” )
printf ‘%d\t%s\n’ “$size” “$file”
done
Do výstupu předchozí úlohy přidejte nakonec součet velikostí a slovo total a velikosti zformátujte na jednotnou šířku.
output= sum=0
for file in *; do
size=$( stat -c %s “$file” )
(( sum += size ))
printf -v out ‘%d/%s/’ “$size” “$file”; output+=$out
done
printf -v out ‘%d/%s\n’ “$sum” total; output+=$out
oldIFS=$IFS IFS=/
printf “%${#sum}d %s\n” $output
IFS=$oldIFS
Vypište velikost největšího obyčejného souboru v aktuálním adresáři (nepoužívejte výstup příkazu ls).
max=0
for file in *; do
if [ -f “$file” -a ! -L “$file” ]; then
size=$( stat -c %s “$file” )
(( size > max ? max=size : max ))
fi
done
printf ‘%d\n’ “$max”
stat -c %s * | sort -n | tail -n 1