Criar link simbólico por filesize condicionalmente usando find exec ubuntu 10.04

0

Eu tenho um problema interessante. Eu estou tentando criar links simbólicos em uma única pasta, para todos os arquivos em um diretório que são maiores que um tamanho especificado.

Para esclarecimentos, aqui está um exemplo:

/Files
    /Large_Files
        /LargeFile1_symlink
        /LargeFile2_symlink
    /Folder1
        /file_a
        /file_b
    /Folder2
        /LargeFile1
    /Folder3
        /LargeFile2
        /file_c

O que eu tenho até agora para tentar conseguir isso é:

find -size +102400 -exec ln -s $PWD/{} Large_Files/ \;

No entanto, esse achado produz

./LargeFile1

Então meu comando symlink produz

ln -s /Files/Folder2/./LargeFile1 Large_Files/

A minha pergunta é, seria possível usar o comando basename para separar apenas o nome do arquivo para que este comando funcione? Ou alguém tem uma sugestão sobre como fazer isso sem escrever um script ou me dar um exemplo sobre como escrever um script?

Eu nunca fiz script antes, mas conheço o Java, mas não quero gastar tempo para fazer tudo isso em Java.

Obrigado por qualquer ajuda!

Editar: adicionando tags

    
por jmlw 06.11.2012 / 05:57

1 resposta

0
$ find /usr/lib -size +20M  -size -25M -exec sh -c 'ln -s "{}" /tmp/huge/'basename {}'' \;
find: '/usr/lib/mozilla': Permission denied
geee: /
$ ll /tmp/huge/
total 0
lrwxrwxrwx 1 jaroslav jaroslav 45 Nov  9 02:55 HSghc-6.12.3.o -> /usr/lib/ghc-6.12.3/ghc-6.12.3/HSghc-6.12.3.o
lrwxrwxrwx 1 jaroslav jaroslav 54 Nov  9 02:55 libHSbase-4.2.0.2_p.a -> /usr/lib/ghc-6.12.3/base-4.2.0.2/libHSbase-4.2.0.2_p.a
lrwxrwxrwx 1 jaroslav jaroslav 56 Nov  9 02:55 libHSCabal-1.8.0.6_p.a -> /usr/lib/ghc-6.12.3/Cabal-1.8.0.6/libHSCabal-1.8.0.6_p.a
lrwxrwxrwx 1 jaroslav jaroslav 59 Nov  9 02:55 libHSghc-6.12.3-ghc6.12.3.so -> /usr/lib/ghc-6.12.3/ghc-6.12.3/libHSghc-6.12.3-ghc6.12.3.so
lrwxrwxrwx 1 jaroslav jaroslav 33 Nov  9 02:55 libQtWebKit.so.4.9.2 -> /usr/lib/qt4/libQtWebKit.so.4.9.2
lrwxrwxrwx 1 jaroslav jaroslav 26 Nov  9 02:55 libxul.so -> /usr/lib/firefox/libxul.so
lrwxrwxrwx 1 jaroslav jaroslav 20 Nov  9 02:55 opera -> /usr/lib/opera/opera

    
por 09.11.2012 / 02:53