我们有一个paths.txt文件,其中包含文件夹中特定文件的路径名。
asd/fold2/some.txt
我们需要将paths.txt中列出的所有文件复制到新文件夹中。
我的问题不是如何复制或移动这些文件,而是我如何找到搜索并最终移动或复制它们等等。
asd/fold2/some/tr6/ok.txt
答案 0 :(得分:3)
您可以使用-a
的{{1}}和-I
选项执行此操作:
xargs
说明:
xargs -a files.txt -I __FILENAME__ cp __FILENAME__ dest
:从文件而不是标准输入中读取项目。-a
:使用从标准输入读取的名称替换initial-arguments中出现的replace-str(在本例中为-I
)。答案 1 :(得分:2)
你想要那个:
#!/bin/sh
# usage : script.sh paths.txt destination
[ -f $1 ] || exit
[ -d $2 ] || exit
while read file
do
cp $file $2
echo "cp $file $2"
done < $1
答案 2 :(得分:2)
不检查重复的名称,它可以像
一样简单cp $(<paths.txt) new_folder/