入力ファイルをシンボリックリンクとして使用してソフトウェアを実行します。

入力ファイルをシンボリックリンクとして使用してソフトウェアを実行します。

何千ものファイルを含むディレクトリがあり、各ディレクトリの入力を複製せずに、異なるディレクトリの同じ入力ファイルを使用してソフトウェアを複数回実行したいと思います。次のコードを使用して、各ファイルシンボリックリンクへのポインタを作成しました。

ln -s /path/to/bayestraits/*_b.txt /path/to/bayestraits/dependiente_1

ディレクトリ構造は次のとおりです。

bayestraits
    dependiente_1
    dependiente_2
    dependiente_3

すべてのディレクトリで次のコードを実行したい

for file in *_b.txt; do BayesTraitsV3 cyanomarkers_2.nex $file < Discrete_Dependent.txt ; done

問題は、コードを実行すると、出力ファイルがbayestraitsディレクトリ、nodependente_1ディレクトリにリダイレクトされることです。

ベストアンサー1

シンボリックリンクの代わりにフラグなしでハードリンクを作成できます-s

ln /path/to/bayestraits/*_b.txt /path/to/bayestraits/dependiente_1

既存のシンボリックリンクを削除せずに上書きするには、-f(force)フラグを使用します。

ln -f /path/to/bayestraits/*_b.txt /path/to/bayestraits/dependiente_1

おすすめ記事