![]() |
![]() |
klem4 |
![]()
Сообщение
#1
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
собственно имеем
Цитата В текущем директории имеется 5 непустых файлов (хотя бы два из них не пустые): tfort, t18, tout, t.325, ftmin. Что произойдет при посылке команды: cat t* > tout ответ Спойлер (Показать/Скрыть)
мое объяснение Спойлер (Показать/Скрыть)
Олег, сеня у препода спрашивали, он сказал что все верно с ответом((... -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
![]() ![]() |
compiler |
![]()
Сообщение
#2
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
я вижу обьяснение немного по другому...
1) по текущей директории происходит поиск файлов (с маской) 2) cat изымает их содержимое 3) потоком отправляет их в tout (файл не обнуляется, направляя в него поток мы дописываем) 3б) содержимое tout отправляется в tout(!) Тут может происходить следующее: а) ошибка cat: tout: ввод и вывод в один файл, как произошло у меня (интепритатор bash; OS:Xubunta). б) копирование, до тех пор, пока не забьется диск, как произошло у тебя...(какой у тебя интепритатор?) попробуй выполнить cat t* > ftmin (или в другой файл !(*t) )) и увидишь, что никакой рекурсии поиск не вызывает. ЗЫ вызавать файлы лучше (хороший тон) с указанием месторасположения, например cat t* > ./tout, особенно запускаемые файлы(например ./prog, а не prog[/b]), и особенно под рутом... Сообщение отредактировано: compiler - 22.12.2007 14:01 -------------------- Спасибо!
Удачи! |
Lapp |
![]()
Сообщение
#3
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
(файл не обнуляется, направляя в него поток мы дописываем) Обнуляется. Дописывался бы он если бы вместо > стояло бы >>. Смысл в том, что сначала в tout записывается содержимое тех файлов, которые в списке раньше. Значит, когда дойдет очередь до чтения tout, он уже будет не пуст и открыт на запись. Его собственное содержимое будет дописываться в конец. При этом процесс чтения будет читать, пока запись в него не кончится. Процесс записи же будет писать, пока чтение не остановится. И все это не остановится никогда. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
![]() ![]() |
![]() |
Текстовая версия | 11.07.2025 12:04 |