>-----Mensaje original-----
>De: Camaleón [mailto:[email protected]]
>Enviado el: jueves, 22 de octubre de 2015 16:10
>Para: [email protected]
>Asunto: Re: Reemplazar enlaces por originales conservando el nombre del
>enlace
>
>El Wed, 21 Oct 2015 23:40:38 +0200, Ramses escribió:
>
>> El 21 de octubre de 2015 21:57:36 CEST, "Camaleón"
>> <[email protected]>
>> escribió:
>
>(...)
>
>>>#!/bin/bash f=/home/usuario/fc1 while read i; do var=$(echo "$i" | awk
>>>'{system("rm -fv "$1) system("cp -afv "$3 " "$1)}') done < "$f"
>>>
>>
>> Camaleón, hay algunas líneas de tu script que tengo claras, pero con
>> otras tengo dudas de lo que hacen...
>>
>> ¿Te importaría comentar cada una de las líneas del script para tenerlo
>> totalmente claro?.
>
>El script mantiene la idea original del OP con un bucle para leer línea por 
>línea
>un archivo de texto con la estructura adecuada para el uso de awk y ejecutar
>las dos acciones sobre los archivos (eliminar el enlace simbólico y copiar el
>archivo original manteniendo el nombre del enlace eliminado).

Sí, si el resultado final tengo claro que es el que necesita el OP, pero como 
es un script que, para alguien que no tenga bastante experiencia en Bash, es un 
pelín complicado, por ejemplo yo, pues por eso te he pedido que lo comentes. 
Vamos, tú o cualquier otro de la lista que quiere explicármelo.

El contenido del fichero fc1 es este:

Enlacearchivo1 --- archivoenlazado1
Enlacearchivo2 --- archivoenlazado2
Enlacearchivo3 --- archivoenlazado3

El script es este:

#!/bin/bash
f=/home/usuario/fc1
while read i; do
var=$(echo "$i" | awk '{system("rm -fv "$1) system("cp -afv "$3 " "$1)}') done 
< "$f"

El tema es que no sabía cómo iba tomando i$ el valor de cada línea, pero he 
encontrado este enlace hablando y explicando el "while read..." y me ha quedado 
claro.

http://es.ccm.net/faq/893-como-leer-un-archivo-linea-por-linea


Saludos,

Ramses

Responder a