Pregunta

Cuando hago ls con GREP, el resultado es exageradamente lo que necesito: una lista de DLLS, ver a continuación:

$ ls -R | grep "dll$"
boost_chrono-vc90-gd-1_47.dll
boost_chrono-vc90-mt-gd-1_47.dll
boost_chrono-vc90-1_47.dll
boost_chrono-vc90-mt-1_47.dll
boost_date_time-vc90-gd-1_47.dll
boost_date_time-vc90-mt-gd-1_47.dll
boost_date_time-vc90-1_47.dll
boost_date_time-vc90-mt-1_47.dll
boost_filesystem-vc90-gd-1_47.dll
boost_filesystem-vc90-mt-gd-1_47.dll
boost_filesystem-vc90-1_47.dll
...

Pero cuando intenté copiar todos esos DLL a un destino, digamos .../, recibí errores y no se copian archivos:

$ cp `ls -R | grep "dll$"` ../
cp: cannot stat `boost_chrono-vc90-gd-1_47.dll': No such file or directory
cp: cannot stat `boost_chrono-vc90-mt-gd-1_47.dll': No such file or directory
cp: cannot stat `boost_chrono-vc90-1_47.dll': No such file or directory
cp: cannot stat `boost_chrono-vc90-mt-1_47.dll': No such file or directory
cp: cannot stat `boost_date_time-vc90-gd-1_47.dll': No such file or directory
cp: cannot stat `boost_date_time-vc90-mt-gd-1_47.dll': No such file or directory
cp: cannot stat `boost_date_time-vc90-1_47.dll': No such file or directory
cp: cannot stat `boost_date_time-vc90-mt-1_47.dll': No such file or directory
cp: cannot stat `boost_filesystem-vc90-gd-1_47.dll': No such file or directory
cp: cannot stat `boost_filesystem-vc90-mt-gd-1_47.dll': No such file or directory
...

Usé poder esto para mi construcción de Boost anterior usando Cygwin, pero no sé por qué ahora no funciona para Boost Build 1-47.

Aprecio cualquier entrada.

¿Fue útil?

Solución

Ves una lista de DLL, pero no sabes en qué directorios viven. El nombre del directorio se imprime en una línea separada una vez y se filtra por grep.

No se puede utilizar ls -R por cualquier cosa significativa. El formato de salida es demasiado inútil. Usar find en cambio. Este comando

find . -name "*.dll"

Imprimirá los nombres completos de sus DLL (no es necesario usar grep). Este comando

find . -name "*.dll" -exec cp {} ..

copiará los archivos para .. en lugar de imprimir sus nombres.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top