Tengo una carpeta que tiene varias carpetas con ISO en cada una. Algunos nombres de los archivos y carpetas tienen espacios. Aquí hay un ejemplo de estructura de carpetas:
/ISOs
-CentOS
--Centos6
---Centos6_x64.iso
---Centos6_x86.iso
-Windows_10_Pro
--Windows_10_Pro.iso
-Windows 10 Enterprise
--Windows 10 Enterprise.iso
Comandos intentados:
find /mnt/fs1/Shares/Software$/ISOs/ -name \*.iso | xargs ln -sf /mnt/fs2/Shares/Images$/proxmox/template/iso
y
for file in "$(find /mnt/fs1/Shares/Software$/ISOs/ -name \*.iso)"; do ln -sf /mnt/fs2/Shares/Images$/server/template/iso/$file;
Con el uso de los comandos anteriores, creará enlaces a los archivos, pero omite todo lo que tenga un espacio en el nombre de la carpeta / subcarpeta o en el nombre del archivo:
/iso
-Centos6_x64.iso
-Centos6_x86.iso
-Windows_10_Pro.iso
¿Cuál es la mejor manera para mí de enumerar todos los archivos contenidos en esta carpeta?
linux
file-management
sectorjunkie
fuente
fuente
\$
, aparte de$sign
, que deben estar entre comillas dobles"$sign"
.Respuestas:
Cuando hay espacios en las cadenas, el shell los interpreta como comandos separados. Debe encapsular la ruta entre comillas para que el shell sepa que es una sola unidad.
Intenté un comando similar en mi sistema, y una forma más fácil de hacerlo sería
fuente