Автоматизация действий¶
Для выполнения некоторых упражнений необходимо в командной строке выполнить большое количество команд.
Исполнение команд можно автоматизировать, если набранные команды оформить в виде сценария.
При этом возникает сложность при редактировании файлов, которое происходит интерактивно.
Но и этот процесс можно автоматизировать, если воспользоваться утилитами cat, echo, sed и перенаправлением потоков.
Конструкция ниже формирует файл main.c с главной функцией main из четырех строчек кода.
Маркер EOF (может быть произвольным текстом) показывает конец ввода строк.
cat > main.c << EOF
main()
{
return 0;
}
EOFТа же самая конструкция, но с перенаправлением в файл main.c через >> уже добавляет в конец файла последующие строки.
cat >> main.c << EOF
void func()
{
}
EOFЧтобы отредактировать конкретную строку, воспользуйтесь утилитой sed.
Команда ниже отредактирует (опция -i) файл main.c: заменит в первой строке подстроку main() на int main().
sed -i '1s/main()/int main()/' main.c