我有~60K的书目记录,可以通过系统编号识别。这些记录还包含全文(由系统编号命名的单个文本文件)。
我有5K串的系统编号列表,我需要找到一种方法来复制每个5K列表中的文本文件。
所有文本文件都存储在一个目录(/fulltext
)中,并按以下行命名:
014776324.txt.
5k列表是存储在单独目录中的纯文本(例如/5k_list_1
,5k_list_2
,...),其中每个系统编号与.txt
文件匹配。
例如:bibliographic record 014776324
与014776324.txt
匹配。
我很难找到一种方法将相应的文本文件复制到5k_list_ *文件夹中。
有什么想法吗?
非常感谢,
答案 0 :(得分:1)
我们假设我们以这种方式调用以下脚本:
./the-script.sh fulltext 5k_list_1 5k_list_2 [...]
或者更简洁:
./the-script.sh fulltext 5k_list_*
然后尝试使用这个(完全未经测试的)脚本:
#!/usr/bin/env bash
set -eu # enable error checking
src_dir=$1 # first argument is where to copy files from
shift 1
for list_dir; do # implicitly consumes remaining args
while read bibliographic record sys_num rest; do
cp "$src_dir/$sys_num.txt" "$list_dir/"
done < "$list_dir/list.txt"
done