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