2
내 소스 파일 sourcefile.txt
의 용어 목록을 내 대상 파일 target.bed
의 용어 목록으로 검색/일치시키고 있습니다. grep'd 용어를 해당 거리 값과 함께 출력 파일에 출력하려고합니다.쉘 스크립트에서 awk/grep을 사용하여 텍스트 검색
소스 파일은 다음과 같습니다
SMOX
NCOA3
EHF
대상 파일은 다음과 같다 :
Chromosome PeakStart PeakEnd Distance GeneStart GeneEnd ClosestTSS_ID Symbol Strand
chr20 4100204 4100378 -29134 4129425 4168394 SMOX null +
chr20 6234586 46234754 -21075 46255745 46257534 NCOA3 null +
chr11 34622044 34622238 -20498 34642639 34668098 EHF >null +
grep'd 텍스트 (ClosestTSS_ID 및 거리)
를 포함하는 출력 파일SMOX -29134
NCOA -21075
EHF -20498
이 스크립트를 사용해 보았습니다 :
exec < sourcefile.txt
while read line
do
genes=$(echo $line| awk '{print $1}')
grep -w "genes" targetfile.bed | awk '{print $4,$7}' >> outputfile.txt
done`
하지만 다른 소스 파일에는 적용되지 않습니다. 동일한 루프에 포함시키고 자하는 많은 다른 소스 파일이 있지만 스크립트는 처음에는 작동합니다. 동일한 스크립트를 사용했지만 다른 파일 이름을 사용했습니다.
나는이 너무 시도 :
rm sourcefile_temp.txt
touch sourcefile_temp.txt
awk 'NR>1{print $1}' sourcefile.txt > sourcefile_temp.txt
exec < sourcefile_temp.txt
while read line
do
set $line
sourcefilevar=`grep $1 targetfile.bed| cut -f4| cut -f7`
echo $line $tssmoq2 >> output.txt
done`
이 하나가 나에게 정말 이상한 출력을 제공합니다.
제안/수정/더 좋은 방법은 대단히 감사하겠습니다.
아주 아주 아주 많이 감사를! – user1879573