shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] permutar: a,b, c -- DICAS ?????


From: André Saunite
Subject: Re: [shell-script] permutar: a,b, c -- DICAS ?????
Date: Sat, 21 Jun 2008 10:10:49 -0300

Olá,

Dá uma olhada nesse artigo do Júlio pra ver se te ajuda, a saída é um
pouco mais completa do que a do seu exemplo:

http://www.dicas-l.com.br/cantinhodoshell/cantinhodoshell_20080519.php

Exemplo:

$ a={a,b,c}
$ eval echo $a$a$a
aaa aab aac aba abb abc aca acb acc baa bab bac bba bbb bbc bca bcb
bcc caa cab cac cba cbb cbc cca ccb ccc

Abs,
André

2008/6/21 Ivan lopes <address@hidden>:
>
> permutar a,b,c:
>
> saida: abc acb bac bca cab cba
>
> --------------------------------------%<--------------------------------------
> #!/bin/bash
>
> v=eval
> e=echo
> s=sed
> r=( a b c );
> _c()
> {
> for ((i=0; i<${#r[*]}; i++)); do
>
> for c in ${r[*]}; do
> o=$o$c','
> done
>
> t=$t'{'$($e $o| $s 's/,$//')'}'
> o=''
> done
>
> $v $e $t |
> $s -r "
> s/(${r[0]}${r[0]}${r[0]}|[^${r[0]}]${r[0]}${r[0]}|${r[0]}[^${r[0]}]${r[0]}|${r[0]}${r[0]}[^${r[0]}]|${r[0]}${r[0]}${r[0]})\>//g;
> s/(${r[1]}${r[1]}${r[1]}|[^${r[1]}]${r[1]}${r[1]}|${r[1]}[^${r[1]}]${r[1]}|${r[1]}${r[1]}[^${r[1]}]|${r[1]}${r[1]}${r[1]})\>//g;
> s/(${r[2]}${r[2]}${r[2]}|[^${r[2]}]${r[2]}${r[2]}|${r[2]}[^${r[2]}]${r[2]}|${r[2]}${r[2]}[^${r[2]}]|${r[2]}${r[2]}${r[2]})\>//g;
> "
> }
>
> _c| sed 's/\s\+/ /g;s/ //'
> --------------------------------------%<--------------------------------------
>
> ou
>
> v=eval; e=echo; s=sed; r=( a b c ); _c() { for ((i=0; i<${#r[*]};
> i++)); do for c in ${r[*]}; do o=$o$c','; done; t=$t'{'$($e $o| sed
> 's/,$//')'}';o='';done; $v $e $t | $s -r "
> s/(${r[0]}${r[0]}${r[0]}|[^${r[0]}]${r[0]}${r[0]}|${r[0]}[^${r[0]}]${r[0]}|${r[0]}${r[0]}[^${r[0]}]|${array[0]}${array[0]}${array[0]})\>//g;
> s/(${r[1]}${r[1]}${r[1]}|[^${r[1]}]${r[1]}${r[1]}|${r[1]}[^${r[1]}]${r[1]}|${r[1]}${r[1]}[^${r[1]}]|${array[1]}${array[1]}${array[1]})\>//g;
> s/(${r[2]}${r[2]}${r[2]}|[^${r[2]}]${r[2]}${r[2]}|${r[2]}[^${r[2]}]${r[2]}|${r[2]}${r[2]}[^${r[2]}]|${array[2]}${array[2]}${array[2]})\>//g;
> "; }; _c| $s 's/\s\+/ /g;s/ //'
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]