find /path/to/file -name '*.png' -exec ln -s '{}' /path/to/symlink ';'
Eu quero criar links simbólicos para arquivos de imagem em um diretório no servidor. Atualmente estou fazendo isso executando este comando usando a função php exec()
:
ln -sf path/to/source path/to/symlink
Os dois nomes de arquivos são os mesmos.
E está funcionando muito. Na próxima etapa, quero criar links simbólicos para outros tamanhos dessa imagem específica que são armazenados ao lado da imagem original. Eu procurei e encontrei este link: Execute um comando para encontrar resultados , o que explica usar este formato:
find ... -execdir rm {} \;
Agora, o mais longe que consegui é listar arquivos (caminho completo) usando o find com o regex adequado. Mas não tenho idéia de como usar essa saída e vincular cada arquivo ao nome exato no diretório de destino.
P.S .: Eu só tenho acesso à imagem original e ao seu caminho.
EDITAR:
Como mencionei, só tenho acesso ao caminho da imagem e seu nome de arquivo. E não sei quantos tamanhos da imagem estão disponíveis. Por isso, quero combinar encontrar e ln para que todos os tamanhos de imagem do arquivo de imagem original sejam vinculados aos arquivos de origem. Por exemplo: eu obtenho o caminho para uma imagem original como esta:
path/to/file/microlancer.png
até agora eu estava executando este comando:
ln -sf path/to/file/microlancer.png path/to/symlink/microlancer.png
com uma execução de um achado eu obtenho estes arquivos:
path/to/file/microlancer-260x185.png
path/to/file/microlancer-120x120.png
path/to/file/microlancer-705x321.png
path/to/file/microlancer-450x223.png
path/to/file/microlancer-150x150.png
path/to/file/microlancer-495x350.png
path/to/file/microlancer-300x149.png
path/to/file/microlancer-705x350.png
path/to/file/microlancer-450x350.png
path/to/file/microlancer-180x180.png
path/to/file/microlancer-36x36.png
E preciso de um link simbólico em path/to/symlink/
para cada arquivo acima.
php não é um problema aqui. Eu só preciso do comando no linux. Mencionei apenas o php para esclarecer que não tenho acesso a todos os arquivos.