Вы были близки. Чего не хватало, так это вашего чека на текстовый файл.
Это:
if [f = 1]
Проверяет, равна ли функция или программа f
числу 1.
Встроенная функция bash if
имеет флаг -s
, чтобы проверить, существует ли файл и имеет ли размер больше нуля.
for d in */
do
echo "My Directories: ${d}"
for f in "${d}"/*.txt
do
echo "My File: ${f}"
# Let's make sure that the file exists and is not empty
if [[ -s "${f}" ]]
then
mkdir "${d}"/nucleotide_frequency 2>/dev/null
break
fi
done
done
Введение в if