Linux/Unix Shell Scripting - comparar archivos entre directorios

 
Vista:

comparar archivos entre directorios

Publicado por Elias (2 intervenciones) el 03/05/2006 17:39:59
Amigos una consulta muy sencilla

tengo un directorio

/home1/ archivo1.txt

/home2/archivo1.txt

como hago para comparar si existen en ambos directorios,el archivo.
probe con el diff pero me verifica el contendio del archivo y yo solo
quiero comparar el nombre y su extension y si existen que hagan una copia

muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:comparar archivos entre directorios

Publicado por n0str0m0 (180 intervenciones) el 03/05/2006 22:01:02
el comando test junto con -f te dice si un fichero existe.
man test.

Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparar nombres de archivos

Publicado por efigueroa (2 intervenciones) el 04/05/2006 01:09:04
yo estoy haciendo lo siguiente primero hago una busqueda
como hagopara compara esa busqueda si se dan cuenta tambien tengo por otro metodo que es el diff

ruta_origen=$HOMEDA/bin/prueba/origen/
ruta_destino=$HOMEDA/bin/prueba/prueba/

ruta_o=$HOMEDA/bin/prueba/origen/PQCFAPMT_D20060428.TXT
ruta_d=$HOMEDA/bin/prueba/prueba/PQCFAPMT_D20060428.TXT

echo "\033[32m________________Busqueda en el fileserver_______________________________\033[0m"
hallado="`find ${ruta_origen} -name "PQCFAPMT_D20060428.TXT" -print`"
echo ${hallado}

if test "$hallado" = ""
then
echo "No hay archivo PQCFAPMT_D20060429.TXT "
echo "Error: al dividir archivo .."
exit 1
else
echo "Encontro por lo menos un Archivo de entrada "
fi

echo "\033[32m________________Busqueda en el host___________________________________\033[0m"

hallado2="`find ${ruta_destino} -name "PQCFAPMT_D20060428.TXT" -print`"
echo ${hallado2}

if test "$hallado2" = ""
then
echo "No hay archivo particionado "

exit 1
else
echo "Encontro por lo menos un Archivo de entrada "
fi
echo "\033[32m___________________COMPARA DIRECTORIOS____________________________________\033[0m"

diff -D $ruta_o $ruta_d
if [ $? -eq 0 ]; then
echo "Los ficheros son iguales"
else [ $? -eq 1 ];
echo "Los ficheros son distintos."
fi

si te das cuenta en el archivo son iguales pero uno de ellos esta vacio y el otro tiene data y me sale los ficheros son distintos la idea es que solo me compare los nombres y no el tamaño ni contenido
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:comparar nombres de archivos

Publicado por n0str0m0 (180 intervenciones) el 04/05/2006 09:06:55
Basta con que hagas

if [[ -f /directorio/ruta/del/fichero/fichero.txt ]];then
#este fichero existe....
if[[ -f /otra/ruta/de/fichero/fichero.txt ]];then
#este otro también existe.
#Aquí hacer algo.
fi
fi

Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar