そのファイル名に基づいてシンボリックリンクを作成する

そのファイル名に基づいてシンボリックリンクを作成する

私のファイルへのシンボリックリンクを作成したいです(合計350ファイル)

cd ./my_files
PD26400a.fixedheader.hs37d5.cram
PD26400a.fixedheader.hs37d5.cram.crai
...

my_filesディレクトリ(列2)の各ファイル名が前の名前(列1)と一致するテキストファイルがあります。

SAMEA3471108.fixed.GRCh37d5.cram  PD26400a.fixedheader.hs37d5.cram
SAMEA3471108.fixed.GRCh37d5.cram.crai  PD26400a.fixedheader.hs37d5.cram.bai
SAMEA3471112.fixed.GRCh37d5.cram  PD26400b.fixedheader.hs37d5.cram
SAMEA3471112.fixed.GRCh37d5.cram.crai  PD26400b.fixedheader.hs37d5.cram.bai

シンボリックリンクを作成してこの出力を取得したいです。

SAMEA3471108.fixed.GRCh37d5.cram -> PD26400a.fixedheader.hs37d5.cram
SAMEA3471108.fixed.GRCh37d5.cram.crai -> PD26400a.fixedheader.hs37d5.cram.bai
SAMEA3471112.fixed.GRCh37d5.cram -> PD26400b.fixedheader.hs37d5.cram
SAMEA3471112.fixed.GRCh37d5.cram.crai -> PD26400b.fixedheader.hs37d5.cram.bai

どうすればいいですか?

ベストアンサー1

今2つの列があるので、awkを使ってみましたか?

echo 'SAMEA3471108.fixed.GRCh37d5.cram  PD26400a.fixedheader.hs37d5.cram' | awk '{print $1, "->", $2}'
SAMEA3471108.fixed.GRCh37d5.cram -> PD26400a.fixedheader.hs37d5.cram

次のようなものを使用できます。

awk '{ system("ln $1 $2") }

おすすめ記事