【发布时间】:2016-11-24 00:48:03
【问题描述】:
我有一个文本文件 (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 文件中指定的内容填充目标!
有没有人有任何想法或能够指出我正确的方向?
【问题讨论】:
-
所以,不存在编写您的代码,这个问题可能会让您朝着正确的方向开始 superuser.com/questions/538306/… 以及
basename函数。如果您遇到问题,请将有问题的代码添加到此问题中,我们会提供帮助 -
循环通过
log.txt并在每个文件名上调用basename,这将返回不带目录的文件名。如果这与您尝试恢复的名称匹配,则使用文件名作为mv的目标。 -
除了尝试搜索类似已回答问题和研究
mv的其他建议外,请查看mmv 并重命名。