Переходный метод обследования.
#!/bin/bash
var1=10
var2=10
var3=10
if [[ ($var1 == $var2) && ($var2 == $var3) ]]; then
echo "yay"
else
echo "nay"
fi
Вывод:
[jaypal:~/Temp] ./s.sh
yay
Примечание:
Поскольку вы указали в своем вопросе, что ваша цель - проверить несколько каталогов с одинаковым номеромфайлов, я подумал о следующем решении.Я знаю, что это не то, что вы просили, поэтому, пожалуйста, не стесняйтесь игнорировать это.
Шаг 1:
Определение количества файлов в данном каталоге.Эта команда также будет искать внутри подкаталогов, но этим можно управлять, используя опцию -depth
из find
.
[jaypal:~/Temp] find . -type d -exec sh -c "printf {} && ls -1 {} | wc -l " \;
. 9
./Backup 7
./bash 2
./GTP 22
./GTP/ParserDump 11
./GTP/ParserDump/ParserDump 1
./perl 7
./perl/p1 2
./python 1
./ruby 0
./scripts 22
Step2:
Это можно комбинировать с Step1
, так как мы просто перенаправляем содержимое в файл.
[jaypal:~/Temp] find . -type d -exec sh -c "printf {} && ls -1 {} | wc -l " \; > file.temp
Step3:
Используя следующую команду, мы дважды заглянем в файл file.temp, и он выдаст нам список каталогов с одинаковым количеством файлов.
[jaypal:~/Temp] awk 'NR==FNR && a[$2]++ {b[$2];next} ($2 in b)' file.temp file.temp | sort -k2
./GTP/ParserDump/ParserDump 1
./python 1
./bash 2
./perl/p1 2
./Backup 7
./perl 7
./GTP 22
./scripts 22