Gostaria de executar um comando, vamos chamá-lo de abc e adicionar como parâmetro cada nome de arquivo da pasta atual. Como eu poderia fazer isso em C Shell (ou outra linguagem de script)?
Responder1
Usando csh
ou tcsh
, isso iria iterar sobre todos os arquivos e diretórios no diretório atual. Usei aspas na $i
substituição de variáveis, caso alguns dos nomes tenham espaços.
foreach i (*)
abc "$i"
end
Se você quiser obter apenas os arquivos, não os diretórios, use o -f
test. Aqui usei a if
instrução abreviada do shell C.
foreach i (*)
if (-f "$i") abc "$i"
end
Responder2
Olho para cimaxargs. Se o seu shell for parecido com o meu, o seguinte deve funcionar bem:
find . -type f -maxdepth 1 | xargs abc
Se você estiver preocupado com espaços nos nomes dos arquivos, veja o comentário de Daniel Andersson abaixo.