Regex trabajando en RedHat no da ningún resultado en Ubuntu

Regex trabajando en RedHat no da ningún resultado en Ubuntu

Mi objetivo es hacer coincidir archivos específicos de subdirectorios específicos. Tengo la siguiente estructura de carpetas.

`--datos
    |-- un
    |-- a.txt
    |-- segundo
    |--b.txt
    |--c
    |--c.txt
    |-- re
    |--d.txt
    |-- mi
    |-- e.txt
    |-- org-1
    | |-- a.org
    | |-- b.org
    | |-- org.txt
    | |-- usuario-0
    | | |-- a.txt
    | | |--b.txt

Estoy intentando enumerar los archivos solo dentro del directorio de datos. Puedo obtener el resultado correcto usando el siguiente comando en RHEL

buscar ./testdir/ -iwholename "*/data/[!/].txt"
a.txt
b.txt
c.txt
d.txt
e.txt

Si ejecuto el mismo comando en Ubuntu, no funciona.

¿Alguien puede decirme por qué no funciona en Ubuntu?

Editar:

Después de algunas pruebas, me di cuenta de que, según mi publicación, funciona correctamente tanto en RHEL como en Ubuntu. El problema está en otra parte. Los archivos que tengo en mi sistema Ubuntu son archivos de datos.

Es muy extraño que estos tipos de archivos no aparezcan tanto en RHEL como en Ubuntu.

[supratik@testserver ~]$ ls testprog/data/
a.txt datos.dat

[supratik@testserver ~]$ archivo testprog/data/a.txt
testprog/data/a.txt: texto ASCII

[supratik@testserver ~]$ archivo testprog/data/data.dat
testprog/data/data.dat: datos

[supratik@testserver ~]$ buscar ./testprog/ -iwholename "*/data/[!/].txt"
./testprog/data/a.txt

[supratik@testserver ~]$ buscar ./testprog/ -iwholename "*/data/[!/].dat"

Respuesta1

Acabo de comprobar esto en CentOS 5.6,6.0 y Ubuntu 9.04,10.04 y 11.04 y obtengo la misma respuesta en todos ellos, a saber

find  ./testdir/ -iwholename "*/data/[!/].txt"
./testdir/data/c.txt
./testdir/data/d.txt
./testdir/data/a.txt
./testdir/data/e.txt
./testdir/data/b.txt

Puedes obtener resultados similares con

Find ./testdir/data/ -maxdepth 1 -name '*.txt'

información relacionada