У меня есть три файла в папке/folder/files/$ SET_DATE /, но может иметь гораздо больше в зависимости от даты.Bash-скрипт. создайте .info.file.prt, если file.prt существует.
Ben.prt
.info.Ben.prt
Jim.prt
John.prt
Я хотел бы создать .info. *. PRT файл для каждого .prt файла в папке, но если она уже существует, я не хочу, чтобы создать два.
Ll-lart тогда оставил бы меня со следующим.
Сервер бен 10:30 < ~> LL-LART
.info.Ben.prt
.info.Jim.prt
.info.John.prt
Ben.prt
Jim.prt
John.prt
Значения в .info. * Foles будет подсчет символов в .prt файлов.
поэтому у меня есть следующее.
SET_DATE= cat /tmp/date.txt
FILES="/folder/folder/folder/$DP_DATE/.info.*"
FILESF="/folder/folder/folder/$DP_DATE/"
FILESP="*.prt"
if [ ! -e $FILESF".info."$FILESP ]; then
echo 0 >> $FILESF.info.$FILESP
fi
Обнадеживает, что сейчас трудно это сделать.
Любой удар в правильном направлении был бы очень полезен.
На самом деле это не будет работать из внешнего каталога, знаете ли вы, как я мог запускать его из другой папки для запуска файлов в этой папке? –
Простейшим способом было бы передать имя каталога, в котором вы хотите работать, в качестве аргумента, и иметь каталог изменений сценария в этом месте. Первая строка, чуть выше цикла 'for', может быть' cd $ {1: - "."} || exit 1', что означает изменение каталога, указанного первым аргументом, или текущего каталога. Это позволяет избежать необходимости анализировать имена файлов отдельно от путей. Другой альтернативой является определение имен файлов для проверки в качестве аргументов командной строки. Выполнение этого требует, однако, разбить имена на каталог (путь) и имя файла. Возможность, но смутно. –