0

システム番号で識別できる約 60K の書誌レコードがあります。これらのレコードには、フルテキスト (システム番号で名前が付けられた個々のテキスト ファイル) も保持されます。

5K のシステム番号のリストがあり、各 5K リストからテキスト ファイルのみをコピーする方法を見つける必要があります。すべてのテキスト ファイルはディレクトリ ( /fulltext) に保存され、次の行に沿って名前が付けられます。 014776324.txt.

5k のリストは、各システム番号がファイルに対応する個別のディレクトリ (例: /5k_list_1、 ...) に格納されたプレーン テキストです。5k_list_2.txt

例:bibliographic record 014776324に一致し014776324.txtます。

対応するテキスト ファイルのみを 5k_list_* フォルダーにコピーする方法を見つけるのに苦労しています。

何か案が?

本当にありがとう、

4

1 に答える 1

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
于 2013-07-02T11:20:26.843 に答える