Um shell UNIX padrão fará algo chamado globbing ; isso usa caracteres especiais para significar, por exemplo, um caractere ( ?
) ou qualquer número de caracteres ( *
). Para usar o seu exemplo, você poderia executar (onde o $
inicial representa seu prompt de comando e não algo que você digitaria):
$ command /home/mydir/*.dat > /home/outputdir/output.dat
Seu shell expandirá isso para:
$ command /home/mydir/A.dat /home/mydir/B.dat /home/mydir/C.dat > /home/outputdir/output.dat
antes de realmente chamar o comando. O *
diz "pegue qualquer nome de arquivo em / home / mydir que termine com" .dat ".
Para algumas variações do comando, dados os mesmos arquivos de entrada:
# all of the sample input files have a single letter before the ".dat"
$ command /home/mydir/?.dat > /home/outputdir/output.dat
# the square brackets say "any (one) of these characters"
$ command /home/mydir/[ABC].dat > /home/outputdir/output.dat