andrework
(usa openSUSE)
Enviado em 01/09/2012 - 18:06h
eu tenho uma pasta de cheia de arquivos de texto com dados em forma de tabela.
eu preciso pegar essas informações e criar uma pasta com o nome do arquivo e dentro dessa pasta criar um arquivo novo com o nome do primeiro campo, e com o segundo campo como conteúdo. ex:
tem um arquivo chamado 1234, esse é o seu conteúdo:
título1: dado11 dado12
título3: dado31 dado32
título2: dado2
o script vai criar uma pasta chamada 1234 e criar três arquivos, um chamado título1, outro chamado título2 e o último chamado título3, dentro da pasta 1234.
o conteúdo do aquivo título1 será o dado 11 dado12
o conteúdo do aquivo título2 será o dado 2
o conteúdo do aquivo título3 será o dado 31 dado32.
e assim para todos os arquivos dentro da pasta principal.
eu pesquisei muito e encontrei comandos que poderiam me ajudar, mas eu n sei como fazer a ligação entre eles para completar a função, estudei um pouco e tentei, mas n consegui
imprimindo o primeiro campo da linha que contém ':' (sso serviria para pegar o título1, nome do arquivo.)
awk -F: '/:/ {print $1}'
i
iserindo conteúdo no arquivo (serviria para colocar o dado 11 dentro do arquivo título1.
cat << EOF > título1
dado11 dado12
EOF
imprime do campo 2 até o último (serviria para pegar o dado11 dado12)
awk {'print $2 to $n'}
mas eu n sei como juntar esse comandos de modo a fazer o que eu quero
quando eu uso touch ou mkdir com uma variável, eles não funcionam.
alguém pode me ajudar, serei muito grato.