Создание пустого файла внутри папки

Поскольку вы только учитесь, вот несколько советов по вашим вопросам, а не полный сценарий.

Существует несколько способов получить размер файла; в системах Linux отличным выбором будет утилитаstat, поскольку вы можете напрямую запрашивать у нее байты:

bytes=$(stat -c %s -- "$f")

другой вариант — утилита wc:

bytes=$(wc -c < "$f")

Обратите внимание, что вы хотите перенаправить файл в wc, а не инстинктивно wc -c "$f", так как последняя форма также выводит имя файла, а первая (, поскольку она не знает имени файла. ), просто выводит количество байтов.

Чтобы проверить, является ли данный файл обычным файлом или каталогом, обычно используется:

тест.

if [ -d "$f" ]
then
  echo It is a directory
else
  echo It is not a directory
fi

Для подсчета количества (не -скрытых )файлов в каталоге у вас есть несколько вариантов:

  • использовать указанную в POSIX -setутилиту:

    set -- /path/to/dir/*;  echo "$#"
    
  • используйте массив (, так как вы пометили bash):

    files=( /path/to/dir/* )
    echo "There are ${#files[@]} files in there"
    

Они будут подсчитывать количество «файлов» (файлов и каталогов )в данном каталоге. Поведение по умолчанию в большинстве оболочек — пропустить точечные -файлы (например..bashrc)при расширении шара *; вы можете настроить это с помощью bash, запустив shopt -s dotglobили shopt -u dotglob, и проверить это с помощью shopt dotglob.

-1
26.01.2020, 22:37
1 ответ
touch /path_to_the_systems_directory/test1

Это должно работать, если у вас есть необходимые привилегии для записи в каталог

2
28.04.2021, 23:25

Теги

Похожие вопросы