Me gustaría ejecutar un comando, llamémoslo abc y agreguemos como parámetro cada nombre de archivo en la carpeta actual. ¿Cómo podría hacer esto en C Shell (u otro lenguaje de programación)?
Respuesta1
Usando csh
o tcsh
, esto iteraría sobre todos los archivos y directorios en el directorio actual. He usado comillas alrededor de la $i
sustitución de variables en caso de que algunos de los nombres tengan espacios.
foreach i (*)
abc "$i"
end
Si desea obtener sólo los archivos, no los directorios, utilice la -f
prueba. Aquí he usado la if
declaración abreviada del shell C.
foreach i (*)
if (-f "$i") abc "$i"
end
Respuesta2
Buscarxargos. Si su shell se parece en algo al mío, lo siguiente debería funcionar bien:
find . -type f -maxdepth 1 | xargs abc
Si le preocupan los espacios en los nombres de los archivos, consulte el comentario de Daniel Andersson a continuación.