ро 2

Лабораторная работа 2
Написать командный файл, добавляющий строку, заданную в качестве первого аргумента, в конец каждого из файлов, заданных последующими аргументами. В случае отсутствия некоторых из указанных файлов в текущем каталоге пользователю должны выдаваться запросы о целесообразности создания этих файлов.
Написать командный файл, который организует диалоговое формирование и выполнение команд, допустимые значения элементов которых определяются содержимым файлов-аргументов. В первом из этих файлов задаются имена допустимых команд, во втором допустимые значения первого параметра, в третьем допустимые значения второго параметра. Должна быть предусмотрена возможность опускания одного или двух параметров.
Написать командный файл, обеспечивающий перенос указанных в качестве аргументов файлов в каталог, имя которого определяется значением переменной окружения NEWDIR. Если эта переменная не определена, то следует запросить у пользователя имя каталога получателя для каждого из пересылаемых файлов.
Написать командный файл, допускающий в качестве аргументов список имен файлов, и запрашивающий у пользователя для каждого из аргументов, какое из следующих действий надо выполнить:
удалить файл (delete),
переименовать файл (rename) имя запрашивается у пользователя,
пропустить без обработки (skip),
и выполняющий требуемое действие.
Написать командный файл, обеспечивающий применение команды, указанной в качестве первого аргумента к файлам, список которых содержится в заданном вторым аргументом файле. Для каждого из этих файлов необходимо запрашивать у пользователя ввода дополнительных (второго и последующих) параметров, которые надо передать команде.
Написать командный файл, который обеспечивает выполнение команды, имя которой задано в качестве первого аргумента, для всех слов, содержащихся в заданном вторым аргументом файле. (Это слово должно использоваться в качестве первого параметра исполняемой команды). Необходимые дополнительные параметры команды должны задаваться в качестве третьего аргумента командного файла.
Написать командный файл, который для каждого из своих аргументов (имен файлов) запрашивает у пользователя, какое из следующих действий надо выполнить:
перенос в другой каталог, заданный переменной окружения NDIR или запрашиваемый у пользователя) - remove
пропуск без обработки - skip
и выполняет это действие.
Написать командный файл, который для каждого из своих аргументов (имен файлов) запрашивает у пользователя, какие действия над файлом следует выполнить. Требуемые действия должны задаваться путем ввода имени требуемой команды и строки текста, задающей значения второго и последующих параметров (первым параметром является имя текущего файла).
Написать командный файл, который выдает в стандартный выходной поток информацию о вхождении каждого из слов, содержащихся в заданном первым аргументом файле (по одному в строке), в файлы, заданные последующими аргументами.
Написать командный файл, определяющий пользователей, находящихся в сеансе работы с системой, посылающий каждому из этих пользователей сообщение (write), текст которого задан первым аргументом файла и формирующий файл (его имя второй параметр командного файла) с именами работающих пользователей и временем входа в систему.
Сценарий просматривает файл /etc/hosts и разыскивает все строки, которые не начианются с символа #. Затем по каждому адресу отправляется запрос.
Сценарий del.lines может обрабатывать один или несколько файлов. Он удаляет из файлов пустые строки (строки, не содержащие печатаемые символы) используя потоковый редактор sed. Перед удалением строк из файла должно проверяться его наличие.
Команды head и tail позволяют делать горизонтальные выборки из файла. Напишите такой командный файл, который будет обеспечивать вертикальные выборки. Сделайте интерфейс вашего файла таким:
·colls n1 [n2] имя_файла при этом в стандартный выходной файл должны быть выведены символы файла имя_файла, начиная с позиции n1 и заканчивая позицией n2. Если параметр n2 не задан, то выводятся все позиции, начиная с n1 и до конца строки.
Написать командный файл, который во всех файлах указанного каталога и его подкаталогах заменяет некоторое слово, заданное первым аргументом на слово, заданное вторым аргументам. Имя начального каталога задается третьим аргументом.
Написать командный файл, который во всех подкаталогах указанного каталога (и в нем самом) меняет имена файлов, так чтобы в имени присутствовали только большие или только малые латинские буквы. Указание регистра передается одним из аргументов. Имя начального каталога так же задается аргументом. При автоматическом переименовании возможно появлением одноименных файлов, в таких случаях новое имя для файла следует запрашивать у пользователя.
Написать командный файл, который рассылает сообщение по списку пользователей. При этом, аргументами этому командному файлу передаются файл с сообщением, файл со списком пользователей и файл с подписью. Каждая строка файла со списком пользователей имеет вид e-mail фамилия имя отчество Отсылаемое письмо должно уходить по указанному электронному адресу и состоять из некоторой стандартной "шапочки" (например, слова "Уважаемый") и вставленных в нее из файла-списка данных о фамилии, имени, отчестве. Затем в письмо надо вставить файл-сообщение и файл-подпись.
Написать командный файл, который рекурсивно выдает на стандартный поток вывода все ПОЛНЫЕ имена файлов, начиная с какого-то подкаталога. При этом, имя начального каталога передается аргументом этому командному файлу
Написать командный файл, который рекурсивно выдает на стандартный поток вывода все имена файлов удовлетворяющие маске, начиная с какого-то подкаталога. При этом, производится замена текста по правилу - в полном пути к имени файла подстрока1 заменяется на подстроку2. В целом обращение к командному файлу должно иметь вид Ком_файл маска подстрока1 подстрока2 нач_каталог Частный случай использования такого командного файла - генерация m3u файла, соответвествующего набору mp3 файлов.
Написать командный файл, который расширяет возможности команды cal следующим образом: по заданной опции выбора языка (русский или английский) позволяет задавать не номер, а название месяца, для которого выдается календарь на указанном языке. Вся выводимая информация так же заменяется в соответствии с выбранным языком
Написать командный файл, определяющий пользователей, находящихся в сеансе работы с системой, и выдающий на стандартный поток вывода информацию о входах определенных пользователей. Список последних содержится в файле, имя которого передается аргументом командному файлу. Командный файл должен запускаться в фоновом режиме. При первом запуске на монитор должны быть выданы все данные о пользователях (см finger), находящихся в сеансе. Далее при каждом входе пользователя из файла-списка на экран должна быть выдана полная информация о нем и номер его терминала. Файл-список содержит только login-ы пользователей. Допустимо создание временных файлов.
Написать командный файл, который находит следующий свободный идентификатор пользователя в файле /etc/passwd и позволяет в диалоговом режиме добавить нового пользователя в этот файл. Поскольку у вас нет прав администратора, то все эксперименты следует проделывать над вашей копией файла passwd. Однако, все остальные требования к организации работы с этим файлом должны быть выполнены.
Написать командный файл, модифицирующий работу команды biff, так чтобы на экран выводились ТОЛЬКО ЗАГОЛОВКИ сообщений, пришедших от определенных людей. При этом файл-список электронных адресов этих людей передается аргументом командному файлу.


Приложенные файлы

  • doc 19270661
    Размер файла: 42 kB Загрузок: 0

Добавить комментарий