如何将文件列表移动到目录列表?

时间:2018-09-29 16:41:36

标签: bash shell unix

我从研究中获得了这些文件,并且某些文件(样本)来自同一组,因此我为每个组创建了一个文件夹,我想将文件移到不同的文件夹中。

我有一个表和一个列表,其中将每个样品(文件名)与其对应的组(目录名)相关联。如何使用bash脚本获取每个样本(第一列)并将其放入其组目录(第二列)?

1 个答案:

答案 0 :(得分:0)

这种情况:

文件:带有文件和目录列表的test.txt:

file1.txt;dir1
file2.txt;dir2
file3.txt;dir3

包含文件的目录:

./dir1
./dir2
./dir3
./file1.txt
./file2.txt
./file3.txt
./script.sh
./test.txt

bash脚本代码:

cat test.txt |
while read line; do
  IFS=';'
  set - $line
  mv $1 $2/
done
使用bash脚本后的

目录结构:

bash script.sh

./dir1
./dir1/file1.txt
./dir2
./dir2/file2.txt
./dir3
./dir3/file3.txt
./script.sh
./test.txt