내 파일에 대한 심볼릭 링크를 만들고 싶습니다(총 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
이제 두 개의 열이 있으므로 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") }
답변2
$ < <(awk 'NF==2 {print "ln -s -T "$1 " " $2}' filein) xargs -0 bash -c
filein
두 개의 열이 포함된 텍스트 파일은 어디에 있습니까?
편집: 기본 하드 링크 대신 심볼릭 링크를 원한다고 가정하고 cmd 호출 -s
에 플래그를 추가했습니다 .ln