[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/ //'
>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [shell-script] permutar: a,b, c -- DICAS ?????,
André Saunite <=