use isso:
find /media/file_??_??.dat -exec ln {} \;
Eu tento isso:
for file in 'ls -1 ../files/file_??_??.dat' ; do echo "$file" ; ln "$file" ; done
E para todos os arquivos, esse erro é exibido:
ln: failed to create hard link ‘./file_01_am.dat’ => ‘../files/file_01_am.dat’: No such file or directory
Mas na linha de comando isso funciona bem:
ln ../files/file_01_am.dat
Por que o ln
falha no loop (também escrito diretamente na linha de comando) e não falha na linha de comando quando executado diretamente?
Apenas para informações, o seguinte comando também falha da mesma forma que o loop acima (este também tenta nomes de caminhos absolutos para uma boa medida):
find /media/files -name "file_??_??.dat" -print0 | xargs -0 -L 1 ln
Eu realmente não quero ter que vincular manualmente todos os arquivos!
O diretório files
é um sistema de arquivos smb
montado. O que é estranho é que o comando ln
funciona bem se eu o emitir diretamente, mas não quando feito em um loop de qualquer tipo.
Por favor ajude.
use isso:
find /media/file_??_??.dat -exec ln {} \;