bash - 如何将文件列表移动到目录列表中?
问题描述
我有这些文件来自一项研究,一些文件(样本)来自同一个组,所以我为每个组创建了一个文件夹,我想将文件移动到不同的文件夹。
我有一个表和一个列表,将每个样本(文件名)与其对应的组(目录名)相关联。如何使用 bash 脚本获取每个样本(第一列)并将其放入其组目录(第二列)?
解决方案
这是这种情况:
文件:带有文件和目录列表的 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脚本.sh
./dir1
./dir1/file1.txt
./dir2
./dir2/file2.txt
./dir3
./dir3/file3.txt
./script.sh
./test.txt
推荐阅读
- node.js - 如何在公共 IP 上部署节点角度应用程序?
- sql - 将两列数据合二为一
- regex - 用于匹配 angular2 中的 html 标签的正则表达式
- javascript - 从 txtfield 获取并连接到数据库以及 nodeJS
- javascript - How to concatenate string within class name syntax in JavaScript?
- postgresql - 为什么我的计划时间总是比执行时间慢?
- css - 产品卡不正确
- java - 看不懂这种java参考
- scala - 如何在 Cassandra Datastax 驱动程序中将 Java 集合转换为 Scala
- mysql - 从 hive 读取数据并将其显示在仪表板上