Suponiendo que los archivos están en el directorio actual y que está utilizandobash
:
files=( T*.CDT )
grep 'FCE-Error' "${files[-1]}"
Esto haría un grep del archivo .CDT
más reciente para la cadena. Podrías hacer lo mismo con el otro tipo de archivo.
El patrón global de shell T*.CDT
se expande a todos los nombres de archivo coincidentes ordenados lexicográficamente, y dado que está utilizando nombres de archivo sanos (con marcas de tiempo adecuadas que se ordenan correctamente ), el último de estos será el archivo más reciente.
Para enviar una alerta por correo si se encuentra la cadena:
files=( T*.CDT )
if grep -q 'FCE-Error' "${files[-1]}"; then
mail -s 'Alert' someperson@example.com <<END_MESSAGE
We've found "FCE-Error" in ${files[-1]}, do something!
END_MESSAGE
fi
Usando algún otro shell POSIX:
set -- T*.CDT # set positional parameter to all matching filenames
shift "$(( $# - 1 ))" # shift off all but the last filename
if grep -q 'FCE-Error' "$1"; then
mail -s 'Alert' someperson@example.com <<END_MESSAGE
We've found "FCE-Error" in $1, do something!
END_MESSAGE
fi