Go Back   За UNIX и Linux Форуми > Топ форуми > Shell Програмиране и скриптове
.
Google Site



Shell Програмиране и скриптове Пост въпроси за KSH, CSH, SH, Bash, Perl, PHP, SED, AWK И ДРУГИ черупки скриптове и черупки скриптови езици тук.

Closed Thread
English Japanese Spanish French German Portuguese Italian Осъществено от Powered by Google
 
Нишка Инструменти Търсене в тази нишка Рейтинг: Thread Rating: 1 votes, 4.00 average. Покажи Режими
  #1 (Permalink)  
Old 06-11-2008
Регистрирани потребители
 

Присъедини Дата: Jan 2008
Публикации: 193
нужда от помощ при написването на ръкопис!

Здравейте всички,

Аз нужда от помощ при написването на сценария за след question.please помогне.

Non-рекурсивни шел скрипт, който приема произволен брой аргументи и отпечатва
тях в обратен ред. (Например, ако скриптът е кръстен rargs, а след това
изпълняващата rargs ABC следва да изготвя КТД на стандартния изход).

Благодарности
Спонсорирани Връзки
  #2 (Permalink)  
Old 06-11-2008
ера era is offline Forum Advisor  
Herder на Безполезни котки (На отпуск)
 

Присъедини Дата: Mar 2008
Местоположение: / там / е / само / хамбар / SH
Мнения: 3652
Защо да не използваме рекурсия?


Код:
#!/bin/sh

case $# in
  0|1) echo "$@";;
  *) arg=$1; shift; exec "$0" "$@" "$arg"
esac

  #3 (Permalink)  
Old 06-12-2008
ера era is offline Forum Advisor  
Herder на Безполезни котки (На отпуск)
 

Присъедини Дата: Mar 2008
Местоположение: / там / е / само / хамбар / SH
Мнения: 3652
... Всъщност това е доста разбити, но получите представа (-:
  #4 (Permalink)  
Old 06-12-2008
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
 

Присъедини Дата: Dec 2007
Местоположение: Начало на 17-път световен шампион Бостън Celtics
Мнения: 1460
Cool Този вид-на изглеждаше като една игра / предизвикателство

Без никакви рекурсивно програмиране е интересен обрат. Но, си помислих, трябва да има "някои" Причината за това изискване.

Както и да е поета от печат в обратен ред, в който разбира за заден ход на влизане ред. Казаха, че може би на следния скрипт:


Код:
#! /bin/bash
#shift_input

tmp_file="shift_value_temp"
tmp_file2="shift_value_temp2"
tmp_file3="shift_value_temp3"
tmp_file4="shift_value_temp4"
rm $tmp_file 2>/dev/null
rm $tmp_file2 2>/dev/null
rm $tmp_file3 2>/dev/null
rm $tmp_file4 2>/dev/null

echo "$*" >$tmp_file
cat $tmp_file | tr " " "\n" >$tmp_file2
tac $tmp_file2 >$tmp_file3
cat $tmp_file3 | tr "\n" " ">$tmp_file4

cat $tmp_file4
echo " "


Код:
> shift_input a b c g h i d e f
f e d i h g c b a  
>

Може би може да се направи без четирите работни файлове, но трябваше да се записва данни някъде, колкото си мислех за стъпките.
  #5 (Permalink)  
Old 06-12-2008
Регистрирани потребители
 

Присъедини Дата: Jun 2008
Местоположение: Шотландия
Публикации: 150
Ето един на Bash

Код:
while [ $# -gt 0 ]
do
  rev="$1 $rev"
  shift
done
echo $rev

и по - Perl

Код:
while(@ARGV)
{
  unshift @rev, shift @ARGV;
}
print join ' ', @rev, "\n";

  #6 (Permalink)  
Old 06-13-2008
ера era is offline Forum Advisor  
Herder на Безполезни котки (На отпуск)
 

Присъедини Дата: Mar 2008
Местоположение: / там / е / само / хамбар / SH
Мнения: 3652
За Perl версия, може просто да кажа обратно @ ARGV - Няма нужда да се кода на линия на ръка.


Код:
#!/bin/sh
exec perl -le '$, = " "; print reverse @ARGV' "$@"

Чрез манипулиране $, можете да избегнете изрично присъединявам се.

joeygе оргия в калявам пила и Безполезни ползване на котешка (не се обиждай ...) може да се опростят радикално:


Код:
echo "$@" | tr -s " \t" "\n" | tac | tr "\n" " "

Ако вашата TR не grok \ т и \ N Вие ще трябва да използвате осмична кодове или буквално разделите и нови редове.
Спонсорирани Връзки
Closed Thread

Маркери

Tags
Perl, Perl смяна, променям, смяна Perl

Нишка Инструменти Търсене в тази нишка
Търсене в тази нишка:

Разширено търсене
Покажи Режими Оцени тази тема
Оцени тази тема:

Правила за публикуване
Ти не може да публикувате нови конци
Ти не може да публикувате отговори
Ти не може да публикувате прикачени файлове
Ти не може да редактирате вашите мнения

BB код е На
Усмивки са На
[IMG] код На
HTML код е Отдалечаване
Trackbacks са На
Pingbacks са На
Refbacks са Отдалечаване


Още UNIX и Linux Форум Теми Можете да намерим Полезни
Нишка Нишка Начално Форум Отговори Последно мнение
Помощ, необходима за написването на сценария sriram_1978 Shell Програмиране и скриптове 4 12-06-2007 04:10 AM
Писане на скрипт jess_t03 Shell Програмиране и скриптове 1 10-10-2007 06:17 AM
Помощ необходимо писмено awk скрипт за XML източник naren_0101bits Shell Програмиране и скриптове 2 09-24-2007 02:07 AM
помощ за написването на сценария dr46014 Shell Програмиране и скриптове 8 08-27-2007 05:08 AM
PLZ помогне писмено awk скрипт LAKSHMI NARAYAN Shell Програмиране и скриптове 3 07-14-2007 04:06 AM



Всички времена са GMT -4. В момента е: 02:10 AM.


Осъществено от: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Езикови преводи Осъществено от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
За UNIX и Linux Форуми Content Copyright © 1993-2010. Всички права Reserved.Ad Управление чрез RedTyger

Съдържание съответно с URL адреси vBSEO 3.2.0