|
|
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
Ребят, привет! С Unix я на "Вы", поэтому прошу у вас помощи для дальнейшего его освоения вместе с shell-программингом. Сделал пункты 1) 2), а вот 3) 4) - шляпа...:(( Помогите советом, кто каким может. Спасибо! Написать shell-процедуру, которая выполняет действия: 1)читает содержимое файла, передаваемого в качестве первого параметра; 2)создаёт новый файл, имя которого передаётся в качестве второго параметра; 3)выводит на экран каждые 7 сек очередную строку первого файла; 4)сортирует все выделенные на экран строки первого файла по длине и записывает их в новый файл; при вводе с клавиатуры слова quit удаляет новый файл и завершате работу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 22:43:04 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
не знаю, правильно ли я понял Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 02:01:31 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
2 автор не совсем понятно авторсортирует все выделенные на экран строки первого файла по длине и записывает их в новый файл; при вводе с клавиатуры слова quit удаляет новый файл и завершате работу что значит выделенные 2 null у вас последовательное исполнение 3 и 4, мне каэца ,автор хотел параллельно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 02:44:26 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
Vladao wrote: > 1)читает содержимое файла, передаваемого в качестве первого параметра; cat файл_аргумент > 2)создаёт новый файл, имя которого передаётся в качестве второго cat файл_аргумент > новый_файл 3)выводит на экран каждые 7 сек очередную строку первого файла; команды read, sleep > 4)сортирует все выделенные на экран строки первого файла по длине и sort > записывает их в новый файл; при вводе с клавиатуры слова quit удаляет > новый файл и завершате работу непонятно. можно почитать info bash. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 03:14:11 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
VladaoРебят, привет! С Unix я на "Вы", поэтому прошу у вас помощи для дальнейшего его освоения вместе с shell-программингом. Сделал пункты 1) 2), а вот 3) 4) - шляпа...:(( Помогите советом, кто каким может. Спасибо! Написать shell-процедуру, которая выполняет действия: 1)читает содержимое файла, передаваемого в качестве первого параметра; 2)создаёт новый файл, имя которого передаётся в качестве второго параметра; 3)выводит на экран каждые 7 сек очередную строку первого файла; 4)сортирует все выделенные на экран строки первого файла по длине и записывает их в новый файл; при вводе с клавиатуры слова quit удаляет новый файл и завершате работу - А Вы с компьютером на "Вы" или на "ты"? - Я с ним на "иоптвоюмать" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 10:38:06 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
Умаксуман - А Вы с компьютером на "Вы" или на "ты"? - Я с ним на "иоптвоюмать" Умаксуман, я с компом, ну как это по-культурней выразиться... ErV, вот сижу читаю info bash... -null-, спасибо большое, что отозвался помочь, только поясни вот эту строчку: awk '{arr[length($0)]=$0}END{for (i in arr){print i "separator" arr}}' | sort -n -t xaxa +1 | sed s/^[0-9]*separator// Спасибо всем:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 14:33:09 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
этой строчкой я сортирую строки по длине. Можно и по-другому придумать. А вообще честно говоря задание мутно сформулировано, в том плане, что можно не однозначно понимать написанное (см. вопрос Оси) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 14:48:05 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
Кстати, вот как в Unix Power Tools О'Релли сделана сортировка строк по длине (lensort) Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 15:18:20 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
так что я че-то перемудрил спросоня :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 15:19:21 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
--null--, покажи лучше как по-другому, можно ведь и через expr() и sort() сделать, просто объясни как с помощью них всё прально выполнить... Спасибо:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 15:20:19 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
Vladao wrote: > ErV, вот сижу читаю info bash... Ещё есть смысл системные скрипты почитать. > -null-, спасибо большое, что отозвался помочь, только поясни вот эту > строчку: Это по пунктам - вызов awk, передача (значок трубы) результата его работы в sort, передача результата работы sort в sed. По всем трем есть мануалы. С awk'ом еще не общался, разобраться можно было бы, но мне влом. Судя по всему там идет циклическая печать исходных аргументов, которые представлены как массив (зы а что вы перл не юзаете ?:)). "sed s/^[0-9]*separator//" удаляет из вывода сорт все строки (пардон, выражения), которые соответствуют шаблону: начинаются с начала строки, после чего идет произвольное число цифр ([0..+бесконечность)), затем "separator". опять же можно почитать маны по регэкспам, они должны быть в man 7 regex, man perlre и man sed, по-любому ещё где-то описаны... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 15:55:18 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
получается что так. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. ErV не perl, а awk, потому что товарищу на shell надо, а awk это все-таки unix utils в случае perl сортировка конечно интеллигентнее получается Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 16:21:52 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
Ося что значит выделенные Извеняюсь, конеш не выделенные, а выведенные Ребят, а можно обойти все эти ухищрения наподобие awk и perl для сортирвки по длине чем нибудь по-проще, просто мне это надо сделать в Korn/Bourne-shell...С помощью expr() и sort() я всё это делаю в теории, а вот как это будет в практике...не знаююю...Помогите с практикой please ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 16:36:19 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
Думаю, что с awk самое оно. Вот и TOR в своей книжке советует, а он авторитет, как-никак Дело в том, что sort не умеет сортировать по длине строк, насколько я знаю. Посему придется извращаться всяко дело: длину строки обычно можно узнать awk-ом, perl-ом или expr (и то не везде) и дальше именно так действовать как в ранее приведенном. Ещё некоторые версии команды test умеют сравнивать строки по длине - но тогда придется алгоритм сортировки писать. да, можно без awk обойтись и вычислять expr-ом длину Код: plaintext 1. 2. 3. 4. но мне это не нравится, ибо данная опция expr есть не во всех версиях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 17:46:35 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
--null-- , спасибо тебе за советы дельные:) Подскажи, а можно строчки bIFS=$IFS IFS=" " чем-то другим, более простым-понятным заменить? А что вот это +0n в строчке sort значит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2007, 00:48:08 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
Vladao wrote: > Ребят, а можно обойти все эти ухищрения наподобие awk и perl для сортирвки > по длине По-моему на шелле можно забабахать обычную тупую процедуру сортировки. Т.е. создать массив, считать туда строки, а потом его отсортировать так же, как на любом другом языке программирования, ибо циклы на шелле пишутся без проблем. Особых сложностей пока не вижу, разве что тормоза могут быть, если сильно перезагнаться. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2007, 02:42:19 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
Коллеги, я что-то не пойму, или вы просто забыли о ключике -m у wc? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2007, 04:18:52 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
Всем привет:) У меня Korn-shell конструкцию bIFS=$IFS IFS=" " не принимает...Что делать?? Она здесь обязательна? Посоветуйте альтернативу пжста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2007, 10:21:52 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
DocAlКоллеги, я что-то не пойму, или вы просто забыли о ключике -m у wc? Хороший ключик. Но есть проблема: не везде он присутствует. авторbash-2.05$ uname -v FreeBSD 4.4-RELEASE #4: bash-2.05$ echo hello | wc -m wc: illegal option -- m usage: wc [-clw] [file ...] В линухе есть, в FreeBSD 6x есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2007, 11:06:07 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
под ksh тоже работает - KSH v5.2.14 хотя его преимуществ не исполбзует - ориентирована на Bourne Shell немного подсократил еще... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2007, 11:36:04 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
ErV Vladao wrote: > Ребят, а можно обойти все эти ухищрения наподобие awk и perl для сортирвки > по длине По-моему на шелле можно забабахать обычную тупую процедуру сортировки. Т.е. создать массив, считать туда строки, а потом его отсортировать так же, как на любом другом языке программирования, ибо циклы на шелле пишутся без проблем. Особых сложностей пока не вижу, разве что тормоза могут быть, если сильно перезагнаться. Posted via ActualForum NNTP Server 1.4 Специально для извращенцев - Korn Shell с пузырьковой сортировкой Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2007, 13:44:34 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
VladaoПодскажи, а можно строчки bIFS=$IFS IFS=" " чем-то другим, более простым-понятным заменить? А что вот это +0n в строчке sort значит? без IFS все будет намного скучнее. Например, пришлось бы так заполнять массив в предыдущем примере Код: plaintext 1. 2. 3. 4. 5. 6. А в sort +0n означает сортировать по полю номер 0, сравнивая как числа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2007, 13:50:12 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
--null-- , спасибо за альтернативу, полезная вещь, но буду впредь использовать IFS:) Скучно не будет!:) А вот если мне проверить вводимые параметры, то использовать надо команду test? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2007, 14:47:08 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
ну да. Проверить существование файла, из которго собираемся читать строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2007, 15:02:16 |
|
||
|
Помогите пжста новичку Shell-процедуре
|
|||
|---|---|---|---|
|
#18+
--null-- DocAlКоллеги, я что-то не пойму, или вы просто забыли о ключике -m у wc? Хороший ключик. Но есть проблема: не везде он присутствует. авторbash-2.05$ uname -v FreeBSD 4.4-RELEASE #4: bash-2.05$ echo hello | wc -m wc: illegal option -- m usage: wc [-clw] [file ...] В линухе есть, в FreeBSD 6x есть.Ну, для FreeBSD 4 и -с подойдёт. Там однобайтная кодировка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2007, 17:41:09 |
|
||
|
|

start [/forum/topic.php?fid=25&startmsg=34566295&tid=1488086]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
77ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
76ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 457ms |

| 0 / 0 |
