lt gt penis Flashcards

1
Q

<

A

-lt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

>

A

-gt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

<=

A

-le

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

> =

A

-ge

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

=

A

-eq

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

!=

A

-ne

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Vytvořte proměnnou ALPHA, která obsahuje jednotlivé řádky s písmeny A až Z.

A

ALPHA=$( printf ‘%s\n’ {A..Z} )

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

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

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’

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

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.

A

C=0
for ((i=1;i<=1000;i++)); do
A=$(date)
B=$(date)
[ “$A” != “$B” ] && ((C++))
done
echo “$C”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Zkuste vyřešit předchozí příklad bez testování shody výstupů dvou příkazů date (příkazem test/[).

A

C=0
echo $(( $( for ((i=1;i<=1000;i++)); do
{ date; date; } | uniq
done | wc -l ) - 1000 ))

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Vytvořte proměnné X a O obsahující řetězce |/- , resp. .,oOo,. .

A

X=’|/-‘ O=’ .,oOo,.’

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

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’ .

A

while sleep 0.1; do
printf ‘\b\b\b%s %s’ “${X:$((++x % ${#X} )):1}” “${O:$((++o % ${#O} )):1}”
done

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

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 .

A

stat -c ‘%s %n’ *

for file in *; do
size=$( stat -c %s “$file” )
printf ‘%d\t%s\n’ “$size” “$file”
done

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Do výstupu předchozí úlohy přidejte nakonec součet velikostí a slovo total a velikosti zformátujte na jednotnou šířku.

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Vypište velikost největšího obyčejného souboru v aktuálním adresáři (nepoužívejte výstup příkazu ls).

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Vypište název největšího obyčejného souboru v aktuálním adresáři (nepoužívejte výstup příkazu ls).

A

max=0 name=
for file in *; do
if [ -f “$file” -a ! -L “$file” ]; then
size=$( stat -c %s “$file” )
(( size > max )) && max=$size name=$file
fi
done
printf ‘%s\n’ “$name”

17
Q

Pro každou položku z aktuálního adresáře vypište informaci o typu souboru (‘soubor’, ‘adresar’ nebo ‘jiny’) a jméno oddělené tabulátorem.

A

for file in ; do
type=$( LC_ALL=C stat -c %F “$file” )
case $type in
regular
) T=soubor;;
directory) T=adresar;;
*) T=jiny;;
esac
printf ‘%s\t%s\n’ “$T” “$file”
done