![]() |
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui. |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| Remover espaços do primeiro campo, e escrever todo o conteúdo em outro arquivo texto | carriehoff | Programação Shell Script e | 3 | 11-11-2008 02:45 |
| Compare e substituir conteúdo dentro de um arquivo | kaustubh137 | Programação Shell Script e | 2 | 05-27-2008 07:56 |
| comparar com a matriz conteúdo arquivo | orahi001 | UNIX para Dummies Perguntas & Respostas | 0 | 03-25-2008 05:44 |
| Consulta: só precisa remover o conteúdo do arquivo sem excluir que | namishtiwari | Programação Shell Script e | 3 | 02-04-2008 05:41 |
| remover o conteúdo de um arquivo | surjyap | Sun Solaris | 2 | 03-02-2006 04:02 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Compare dois arquivos e remover todo o conteúdo de um arquivo de outro
Oi, Tenho dois arquivos, no qual o segundo ficheiro tem exactamente o mesmo conteúdo do primeiro arquivo com alguns registros. Agora, se eu quiser remover esses correspondentes linhas de ficheiro2 e imprimir apenas o conteúdo extra que o primeiro arquivo não tem, eu poderia usar o comando abaixo inexperiente, considere f1 e f2 são os dois arquivos Código:
var=`cat f1` grep -v "$var" f2 mas eu preciso de uma melhor solução, com rápido e confiável com menor consumo de memória. Eu encontrei estas 2 linhas de código, mas ele não funciona para arquivos com longas linhas: Código:
fgrep -v -x -f f2 f1
awk 'NR==FNR {b[$0]; next} !($0 in b)' f2 f1
Última edição por royalibrahim; em 11-18-2008 12:51.. |
|
||||
|
Obrigado a todos vocês para as sugestões. Mas ninguém tem qualquer awk, perl código para fazer esta tarefa? E também, a seguir perl código irá remover duplicado, não-consecutivos linhas baseadas no último campo sem triagem. Agora, por favor, me diga, o que devo mudar neste código, a fim de imprimir únicas linhas de um arquivo apenas por não ver o último campo, mas a linha inteira (todo o registro)? Código:
perl -ane'print unless $_{$F[-1]}++'
|
![]() |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|