- Gerar link
- X
- Outros aplicativos
Postagem em destaque
- Gerar link
- X
- Outros aplicativos
read + echo + cat + wc + bc + sed + bash
$ read -p 'Arquivo: ' A; read -p 'Partes: ' P; echo $P | cat <(cat $A | wc -l) -| sed 'N;s/\n/\//' | bc | sed "s/.*/sed -r '1~&=;1~&i EOF' $A/" | bash | sed -r '/^[0-9]+$/{ N;s/(.*)\n(EOF)/\2\ncat>x\1<<\2/;}' | sed '1x;$G' | bash
Etapas
- Lê os dados com read (arquivo de origem e total de arquivos a serem criados).
- Redireciona o valor de P para o cat, que mescla com o valor retornado pelo comando wc ao calcular o total de linhas do arquivo armazenado em A.
- Envia para o sed que monta a operação aritmética de divisão e redireciona para o comando bc, que retorna o resultado que corresponde ao total de linhas que cada arquivo criado deverá ter.
- O sed captura esse resultado e utiliza para montar a estrutura do próximo comando sed, definindo o intervalo de linhas a serem impressas e insere o delimitador EOF ao final.
- Redireciona para o bash que executa.
- O próximo sed captura a saída do comando, convertendo o número da linha em uma estrutura cat > Xnum << EOF.
- Move e anexa a primeira linha com a última linha, redireciona para o bash que executada novamente e realiza a criação dos arquivos com suas respectivas linhas.
Clique na imagem para ampliar. |
** Tenha sua solução postada aqui **
Se está enfrentando dificuldades no momento de montar sua linha de comando para resolução de um problema ou talvez não sabe por onde começar. Participe preenchendo o formulário a seguir. Descreva detalhes sobre o problema enfrentado e quem sabe a próximo X DA QUESTÃO seja o seu !!!
Se está enfrentando dificuldades no momento de montar sua linha de comando para resolução de um problema ou talvez não sabe por onde começar. Participe preenchendo o formulário a seguir. Descreva detalhes sobre o problema enfrentado e quem sabe a próximo X DA QUESTÃO seja o seu !!!
Formulário: X DA QUESTÃO
Comentários
Postar um comentário