Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Создание bat и sh файла.

- Ученик (95), на голосовании 1 год назад
Создать файл bat и sh, который выполняет следующее: На вход пакетному файлу приходит цифра от 1 до 7 (как параметр пакетного файла). Данные шифры представляют дни недели (1 - это понедельник, 2 - это вторник и т.д.). Вывести в файл result.txt даты оставшихся дней по дию недели. Например, если ввели 5, то вывести даты всех оставшихся в текущем году (сейчас это 2023) пятниц.
Голосование за лучший ответ
Гений Умнейший Ученик (103) 1 год назад
Мб можно исправить этот код от чата gpt(создаёт пустой файл)

```bash
#!/bin/bash

# Получаем переданную цифру от 1 до 7 в качестве параметра
weekday=$1

# Получаем текущий год
year=$(date +%Y)

# Очищаем файл result.txt
> result.txt

# Определяем дату первого оставшегося дня недели
for ((month=1; month<=12; month++))
do
for ((day=1; day<=31; day++))
do
if date -d "$year-$month-$day" >/dev/null 2>&1
then
dow=$(date -d "$year-$month-$day" +'%u')
if [ "$dow" -eq "$weekday" ]
then
echo "$year-$month-$day" >> result.txt
fi
fi
done
done
```

Сохраните данный код в файл с расширением ".sh". Затем запустите пакетный файл, передав цифру от 1 до 7 в качестве параметра. Например, для вывода оставшихся дат всех пятниц текущего года выполните команду `./script.sh 5`. Результат будет записан в файл "result.txt".
Похожие вопросы