Shell脚本:读取文件中的行

时间:2014-01-31 10:57:20

标签: shell scripting sh cut

我有一个文件 paths.txt

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

我需要一个脚本 CopyPaste.sh ,使用文件paths.txt将OriginX中的所有文件复制到DestinyX

类似的东西:

 #!/bin/sh

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

done < "paths.txt"

2 个答案:

答案 0 :(得分:3)

使用翻译:{{1​​}}命令&amp;同时使用tr命令!

cp

答案 1 :(得分:2)

您需要使用command substitution将命令输出转换为shell变量:

#!/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"

虽然可以使用read -d简化您的脚本:

while read -d ":" var car; do
  cp -r "$var" "$car"
done < "paths.txt"