在 Solaris 中,我需要移动一个文件,其名称在文件列表中

In Solaris, I need to move a file, name of which is in a filelist

这是在 Solaris 中。请注意,我是 shell 脚本的新手。所以请求一些帮助。

我有一个带有文件名的文件列表(只有一个文件名)。我需要通过读取此文件列表将文件从一个目录移动到另一个目录。

我需要一个命令来完成。

要添加如下内容,其中 filelist.txt 包含一个文件名并且该文件位于源路径 /path 中,我需要将其移动到不同的路径 /path2/dest

mv /path/ 'cat filelist.txt' /path2/dest/

你很接近。而不是 'cat filelist.txt,你需要让它成为一个子 shell。假设您 sh 兼容,这应该有效:

mv /path/$(cat filelist.txt) /path2/dest/

但是,如果您想支持多个文件,一个简单的循环就可以解决问题。

cat filelist.txt | while read f; do
    mv /path/${f} /path2/dest
done