AprendiNoLinux
(usa Ubuntu)
Enviado em 11/04/2012 - 18:41h
terabytes escreveu:
grep -R 2345860383 /cygdrive/c/TAM/ | cut -d ":" -f 1
Basicamente entendi que o resultado do grep foram várias linhas. Depois vc pegou um campo qualquer que necessariamente pode conter infos diferentes. Até este ponto entendi.
terabytes escreveu:
grep -R 2345860383 /cygdrive/c/TAM/ | cut -d ":" -f 1 | grep DU <arquivo_informado_pelo_comando_anterior>
Alguém me explica qual comando usar??!!
Claro que vc pode realizar outro grep em cima do resultado que está na memória, mas apenas com os dados que estão a sua disposição, exemplo:
Vamos supor que o resultado fosse:
2345860383 /cygdrive/c/TAM/ 123435
2345860383 /cygdrive/b/TAM/ 343434
2345860383 /cygdrive/c/TAM/ 434344
2345860383 /cygdrive/d/TAM/ 34344
2345860383 /cygdrive/e/TAM/ 433
2345860383 /cygdrive/f/TAM/ 122455
2345860383 /cygdrive/g/TAM/ 23232
2345860383 /cygdrive/h/TAM/ 12323
2345860383 /cygdrive/j/TAM/ 3232
Com o resultado um outro grep só pode agir sobre os dados que tem em mãos.
Penso que o seu desejo seja fazer tudo em uma linha de comando. O find permite na varredura de diretórios e arquivos de forma recursiva executar comandos. O grep não. Awk permite construções mais robustas e engloba o grep, sed e até mesmo o find. Tem muita gente fera por aqui e talvez poderão te dar uma luz melhor.
Se você jogar um exemplo de arquivo com os dados como fiz agora talvez a galera pode tentar ajudar.