fdmarp
(usa Debian)
Enviado em 09/06/2011 - 13:09h
Fiz um script a um tempo atras para um colega de vol .... talvez possa te ajudar.
#!/bin/bash
# xdiff
# --------------------------------------
# Script Viva o Linux
# --------------------------------------
# fdmarp
help ()
{
clear
echo "
User Commands xdiff(1)
`tput bold`NAME`tput sgr0`
xdiff - compara colunas de arquivo
`tput bold`SYNOPSIS`tput sgr0`
xdiff [arquivo_1][arquivo_2] [numero_da_coluna1] [numero_da_coluna2]
`tput bold`DESCRIPTION`tput sgr0`
Compara determinada coluna de um arquivo com uma coluna de outro
arquivo.
Caso nao seja definida a coluna do segundo arquivo, sera assumida a
mesma do arquivo_1.
`tput bold`OPTIONS`tput sgr0`
The following options are supported:
arquivo_1 - nome do primeiro arquivo.
arquivo_2 - nome do segundo arquivo.
coluna_1 - numero da coluna no arquivo_1.
coluna_2 - OPICIONAL - numero da coluna no arquivo_2.
Examples:
xdiff Arq1.txt Arq2.txt 1 2
xdiff Arq1.txt Arq2.txt 2
`tput bold`VERSION`tput sgr0`
Version is 1.01
"
exit 0
}
COLUNA1=$3
COLUNA2=$4
arq1=$1
arq2=$2
if [ "$4" = "" ]; then
COLUNA2=$COLUNA1
fi
case "$COLUNA1" in
[0-99] )
awk "{ print \$$COLUNA1 }" $arq1 | while read line_arq1
do
COUNT=`expr $COUNT + 1`
line_arq2=`awk "NR==$COUNT{ print \$ $COLUNA2 }" $arq2`
if [ "$line_arq1" != "$line_arq2" ]; then
echo "xdiff -> $line_arq1 $line_arq2"
fi
done
;;
* )
help
;;
esac