Bash - 使用来自txt文件

时间:2016-11-21 16:37:21

标签: bash shell mv

我有一个文本文件(log.txt),其中包含我希望文件结束的文件路径列表。

/root/NewDir/Testfile.txt
/root/NewDir/Testfile2.txt
/root/NewDir2/Alsoatest.txt
...

这些文件当前与log.txt

位于同一位置
/root/Dustbin/log.txt
/root/Dustbin/Testfile.txt
/root/Dustbin/Testfile2.txt
/root/Dustbin/Alsoatest.txt
...

我正在尝试创建一个只接受文件名的脚本,并将指定的文件移动到log.txt文件中指定的位置。

例如:

# restore Testfile.txt

结果应该是Testfile.txt从/ root / Dustbin / ...移动到/ root / NewDir /...

我是bash / shellscript的新手,并且已经尝试了几个小时的研究,但我完全难过了! 我知道我需要使用'mv'函数但不确定如何通过匹配文件名来填充目标与log.txt文件中指定的目标!

有人会有任何想法或能够指出我正确的方向吗?

1 个答案:

答案 0 :(得分:2)

尝试:

#!/bin/bash 

dustbin="/root/Dustbin"
file="$1"

mv $dustbin/$file $(grep "/$file$" $dustbin/log.txt)

根据您的要求,您可以改进脚本添加" mkdir"在" mv",...。

之前