La pregunta ¿Cuál es el equivalente de Linux de "dir / s / b filename" de DOS? se acerca pero termina reproduciendo una operación de búsqueda de archivos para todos los nombres de archivos nombrados.
Sin embargo, estoy buscando hacer una comparación de diferencias de contenido de directorio con un directorio en una máquina Windows y compararlo con lo que debería ser un directorio construido de manera similar en un cuadro QNX . Quiero ejecutar el comando de enumeración de directorios en ambas máquinas, hacer algo de manipulación de archivos de texto para convertir caracteres delimitadores de ruta y unidades raíz y qué no hacer que tengan un formato compatible para una diferencia perspicaz.
Puedo generar un manifiesto de carpeta de todos los subdirectorios y archivos que contiene dir /b /s
, y obtener la salida formateada como un montón de rutas ...
c:\Temp>dir /b /s
c:\Temp\Subfolder1
C:\Temp\Subfolder1\File1.txt
C:\Temp\Subfolder1\File2.txt
...
Puedo ver se dir /s
convierte ls -R
, pero ¿cómo obtengo el /B
equivalente del formato de salida de ruta?
-name
opción, por lo que no se filtra por nombre.Respuestas:
find
puede darte todo lo que necesitas. Tiene un poco más de sobrecarga ya que realiza más pruebas quels
solo, pero si desea la información de ruta en la salida, esta puede ser la forma más sencilla de lograrlo.Si vas a comparar dos sistemas, entonces probablemente deberías hacer algo de edición de texto primero e intercambiar
\
con/
, y eliminar elC:
prefijo. Luego ordena las listas y úsalasdiff
para detectar los cambios.sed
Será tu amigo aquí. Haz un seguimiento con un comentario si quieres esto también.fuente
No hay una bandera
ls
que haga lo que le pidas, pero puede lograrlo con varias otras herramientas, la más fácil (posiblemente)find
:fuente
find
La expresión predeterminada es.
find
, pero otras implementaciones siguen el estándar POSIX y requieren un operando de directorio.árbol -si
-i para no sangrar -f para imprimir ruta
fuente
-bash: tree: command not found
tree
en varias distribuciones de Linux.tree
es mi herramienta de elección para inspeccionar la estructura de directorios, pero no está instalada por defecto en la mayoría de los sistemas.Para obtener el prefijo de la ruta real (suponiendo que sea importante), haga
fuente
find "${PWD}"
debería ser suficiente. Sin embargo, no estoy seguro si eso funciona en QNX.pwd
también externa / bin / pwd, que también difieren en la forma en que manejan los directorios alcanzados por los enlaces simbólicos.