Domanda

I have a file paths.txt:

/my/path/Origin/.:your/path/Destiny/.
/my/path/Origin2/.:your/path/Destiny2/.
/...
/...

I need a Script CopyPaste.sh using file paths.txt to copy all files in OriginX to DestinyX

Something like that:

 #!/bin/sh

while read line
do
        var= $line | cut --d=":" -f1
        car= $line | cut --d=":" -f2
        cp -r var car

done < "paths.txt"
È stato utile?

Soluzione

Use translate : tr command & apply cp command in the same go!

#!/bin/sh

while read line; do
  cp `echo $line | tr ':' ' '`
done < "paths.txt"

Altri suggerimenti

You need to use command substitution to get command's output into a shell variable:

#!/bin/sh

while read line
do
        var=`echo $line | cut --d=":" -f1`
        car=`echo $line | cut --d=":" -f2`
        cp -r "$var" "$car"
done < "paths.txt"

Though your script can be simplified using read -d:

while read -d ":" var car; do
  cp -r "$var" "$car"
done < "paths.txt"
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top