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'