Ilustres, bom dia.
Tenho 2 diretórios com o seguinte conteúdo.
#ls /dirA | head -n 4
1.txt
2.txt
3.txt
4.txt
#ls /dirB | head -n 4
a.txt
b.txt
c.txt
d.txt
Ambas as listas de arquivos SEMPRE** terão a mesma quantidade de arquivos
(limitado pelo HEAD), mas não há um padrão para os nomes em ambos
--- Em shell-script@yahoogrupos.com.br, "Cristiano" escreveu
>
> Ilustres, bom dia.
>
> Tenho 2 diretórios com o seguinte conteúdo.
>
> #ls /dirA | head -n 4
> 1.txt
> 2.txt
> 3.txt
> 4.txt
>
> #ls /dirB | head -n 4
> a.txt
> b.txt
> c.txt
> d.txt
>
> Ambas as listas de arquivos SEMPRE** terão
Fala aí Cristiano,
Veja se funcionaria:
ls dirA | xargs touch -r dirB/*
[]'s
Gunter
Em 7 de abril de 2010 11:46, Cristiano escreveu:
>
>
> --- Em shell-script@yahoogrupos.com.br ,
> "Cristiano" escreveu
>
> >
> > Ilustres, bom dia.
> >
> > Tenho 2 diretórios com o seguinte conteúdo.
> >
>
Boa tarde, pessoal!
Tenho um arquivo PGN com muitas partidas de xadrez e gostaria de
automatizar a seleção das partidas que vou estudar.
Cada partida é anotada como abaixo, sempre começando com uma tag
[Event "*"], porém sem indicativo do final -- na verdade, há vários
tipos diferentes. Portanto,
sugiro separar com awk
$ cat teste
[evento]
um
dois
[evento]
tres
quatro
$ awk '/\[evento\]/{ i++; } { print >> "split_" i;}' teste
$ cat split_1
[evento]
um
dois
$ cat split_2
[evento]
tres
quatro
Basicamente eu somo 1 a variavel i para cada cabeçalho [evento] -- substitua
pelo seu -- e escre
Oi, Tiago, tudo bem?
Obrigada pela pronta resposta!
2010/4/7 Tiago Peczenyj:
> sugiro separar com awk
>
> $ cat teste
> [evento]
> um
> dois
> [evento]
> tres
> quatro
>
> $ awk '/\[evento\]/{ i++; } { print >> "split_" i;}' teste
>
> $ cat split_1
> [evento]
> um
> dois
>
> $ cat split_2
> [even
Ô Andrea, cuméque uma jogadora de xadrez pode achar a resposta do Tiago
complicada? A solução do Tiago está ótima! Ele resolveu um problemão em 2
linhas... A linha seguinte, que ele não escreveu, seria um grep -lF "1. d4
d5 2. c4 c6 3. e3" split_*
Esta linha produziria os nomes dos arquivos que po
Algo semelhante, porém one-liner: ;)
paste -d ' ' <(ls 127* | head -n 10) <(ls /tmp/*DFU* | head -n 10) | xargs
-L1 touch -r
OBS: Na próxima 2a. feira começo um curso de shell em Floripa. Apareçam nem
que seja para um chope (com ostras).
Abraços,
Julio
Cursos de Shell e Zenity em 2 fins de seman
Descobri o comando csplit, que pode 'splitar' um arquivo por uma expressão.
csplit -z -f split teste '/evento/' '{*}'
fiquei cismado que o split normal não faz isto, mas no 'info coreutils
split' apareceu esta dica
A sintaxe esta bem explicada tanto no main quanto no Dicas-L
http://www.dicas-l.
vc poderia usar o comando pr
$ pr --columns=5 -t -s' ' arquivo
Para isso vc deve ter exatamente um item por linha
veja:
$ seq 20 | pr --columns=5 -t -s' '
1 5 9 13 17
2 6 10 14 18
3 7 11 15 19
4 8 12 16 20
o -t é para omite as informações que o pr adiciona, tanto no começo
quanto no fim.
2010
Grande Julio!
2010/4/7 Julio C. Neves:
> Ô Andrea, cuméque uma jogadora de xadrez pode achar a resposta do Tiago
> complicada? A solução do Tiago está ótima! Ele resolveu um problemão em 2
> linhas... A linha seguinte, que ele não escreveu, seria um grep -lF "1. d4
> d5 2. c4 c6 3. e3" split_*
>
>
11 matches
Mail list logo