URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4267
[ Назад ]

Исходное сообщение
"Помогите написать shell процедуру"

Отправлено Xey , 15-Май-05 19:52 
вообщем надо написать такую shell процедуру:

читает содержимое файла, передоваемого в качестве первого параметра, создаёт в текущем каталоге цепочку подкатологов с относительным маршрутным именем, повторяющим полное маршрутное имя текущего каталога, создаёт в последнем подкатологе новый файл, имя которого передаёться в качестве второго параметра, записывает в новый файл строки строки первого в обратном порядке вставля после каждого слова фразуTHAT IS ALLстока раз, скока задано третьим

вообщем, помогите написать процедуру, ну или хотя бы какую то её часть.


Содержание

Сообщения в этом обсуждении
"Помогите написать shell процедуру"
Отправлено madskull , 15-Май-05 22:28 
>вообщем надо написать такую shell процедуру:
>
>читает содержимое файла, передоваемого в качестве первого параметра, создаёт в текущем каталоге
>цепочку подкатологов с относительным маршрутным именем, повторяющим полное маршрутное имя текущего
>каталога, создаёт в последнем подкатологе новый файл, имя которого передаёться в
>качестве второго параметра, записывает в новый файл строки строки первого в
>обратном порядке вставля после каждого слова фразуTHAT IS ALLстока раз, скока
>задано третьим
>
>вообщем, помогите написать процедуру, ну или хотя бы какую то её часть.
>
одно из решений:
mkdir -p ".PWD"
tac "$1" | sed "s/$/$(for i in `seq 1 $3`;do echo -n "THAT IS ALL" ;done)/" > ".PWD/$2"



"Помогите написать shell процедуру"
Отправлено madskull , 15-Май-05 22:31 
>>вообщем надо написать такую shell процедуру:
>>
>>читает содержимое файла, передоваемого в качестве первого параметра, создаёт в текущем каталоге
>>цепочку подкатологов с относительным маршрутным именем, повторяющим полное маршрутное имя текущего
>>каталога, создаёт в последнем подкатологе новый файл, имя которого передаёться в
>>качестве второго параметра, записывает в новый файл строки строки первого в
>>обратном порядке вставля после каждого слова фразуTHAT IS ALLстока раз, скока
>>задано третьим
>>
>>вообщем, помогите написать процедуру, ну или хотя бы какую то её часть.
>>
>одно из решений:
>mkdir -p ".PWD"
>tac "$1" | sed "s/$/$(for i in `seq 1 $3`;do echo -n "THAT IS ALL" ;done)/" > ".PWD/$2"
PWD должен быть как $PWD...

"Помогите написать shell процедуру"
Отправлено Xey , 15-Май-05 23:58 
Класно! Всё работает. Большое спасибо. :)

"Помогите написать shell процедуру"
Отправлено Xey , 19-Май-05 19:19 
тут появился такой вопрос: процедура в новом файле добавляет фразу THAT IS ALL в конец строки, а как сделать что б эта фраза добавлялась между словами   n-раз?



"Помогите написать shell процедуру"
Отправлено madskull , 19-Май-05 20:04 
>тут появился такой вопрос: процедура в новом файле добавляет фразу THAT IS
>ALL в конец строки, а как сделать что б эта фраза
>добавлялась между словами   n-раз?

Между какими словами?


"Помогите написать shell процедуру"
Отправлено Xey , 19-Май-05 22:21 
>>тут появился такой вопрос: процедура в новом файле добавляет фразу THAT IS
>>ALL в конец строки, а как сделать что б эта фраза
>>добавлялась между словами   n-раз?
>
>Между какими словами?


ну файл который переписываем наоборот - содержит слова разделённый пробелами. вот между этими словами.


"Помогите написать shell процедуру"
Отправлено madskull , 20-Май-05 09:46 
>>>тут появился такой вопрос: процедура в новом файле добавляет фразу THAT IS
>>>ALL в конец строки, а как сделать что б эта фраза
>>>добавлялась между словами   n-раз?
>>
>>Между какими словами?
>
>
>ну файл который переписываем наоборот - содержит слова разделённый пробелами. вот между
>этими словами.

Ну подумай.


"Помогите написать shell процедуру"
Отправлено Xey , 20-Май-05 19:04 
>Ну подумай.
Спасибо, давно такого дельного совета не слышал :D
Вообщем написал процедуру, спасибо за помощь ;)