stupidstudent Опубликовано 23 ноября, 2011 Жалоба Поделиться Опубликовано 23 ноября, 2011 болел во время лекции по теме. не прошу решать, прошу объяснить как это решать или какой мануал читать чтобы решить... 1) читает содержимое файла, имя которого вводится при исполнении процедуры 2) создает новый файл имя которого передпется в качестве параметра 3)выводит на экран каждые 6 секунд очередные две строки в обратном порядке 4) сортирует выведенные на экран строки по длине и записывает в новый файл 5) приводит с клавиатуры трижды слово end удаляет второй файл и завершает работу Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
gogi Опубликовано 23 ноября, 2011 Жалоба Поделиться Опубликовано 23 ноября, 2011 stupidstudent писал(а) Срд, 23 Ноябрь 2011 09:44 болел во время лекции по теме. не прошу решать, прошу объяснить как это решать или какой мануал читать чтобы решить... Лучше проштудировать лекцию. Поможет и мануал - man sh (или man bash, если речь об этой оболочке). Кроме того есть много руководств. Поищите в гугле. Цитата: 1) читает содержимое файла, имя которого вводится при исполнении процедуры Если это файл, то считать строку из него в переменную $str можно read srt < $filein. Перед этим: read -p "Введите имя файла для чтения: " filein Процедурой в Паскале называют подпрограмму, не возвращающую значения. На шелле пишут не процедуры, а СКРИПТЫ. Цитата: 2) создает новый файл имя которого передпется в качестве параметра Первый параметр запишется в переменнную $1. Напр. перенаправить вывод в файл echo aaa > $1 или { основная часть программы } < $filein | sort > $1 создаст новый файл с именем $1 и отсортированным содержимым всего, что выводится в {...} Цитата: 3)выводит на экран каждые 6 секунд очередные две строки в обратном порядке Задержать выполнение на 6 секунд можно sleep 6 Цитата: 4) сортирует выведенные на экран строки по длине и записывает в новый файл Утилиты, которая сортирует строки по длине, я не знаю. Можете освоить awk. А то и просто дописать впереди строки ее длину (узнать длину строки $s1 можно ${#s1} ) а поcле сортировки по числу (sort -n) отбросить (напремер, cut -f 2-) Цитата: 5) приводит с клавиатуры трижды слово end удаляет второй файл и завершает работу Удалить файл можно прямо: rm filename. В целом задание мне показалось не продуманным. 1) Очередные две строки в обратном порядке - это 2,1,4,3,6,5... или 6,5,4,3,2,1 ??? 2) Зачем в конце ждать end если количество строк конечно и программа все равно завершится, выполнив работу. 3) Небольшая проблема в разделении потоков - вывод (в обратном порядке) на экран и, (сортированные) в файл. Чтобы не создавать лишних сущностей, стандартный поток я бы отправил программе sort и ее вывод в файл, а стандартный поток ошибок - на экран. Но, возможно, другие варианты подойдут лучше. Программа у меня получилась в 12 строк. Пишите свой вариант. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.