awk 명령문에 출력되는 데이터를 어떻게 저장할 수 있습니까? 변수 또는 배열에서 액세스 할 수 있습니까? 통과하는 각 파일에 대해 4 개의 값 (GATC)과 모든 파일의 합계가 있습니다. 그것의 iterating 및 인쇄는 각 라인의 수를 추가하여 파일에 대한 기준에 맞는 find 인 경우 모든 라인을 모두 4 개로 찾습니다. 나중에 정보에 액세스 할 필요가 있습니다. 반드시 찾지 만 선은 필요하지 않습니다. 나는 그럴 필요가 없습니다. 어떻게해야 최선의 방법이라고 생각할 수있는 배열로 저장할 수 있습니까?bash awk 배열에 출력되는 내용을 저장합니다.
for f in $FILES
do
[ -d "$f" ] && continue
if is_file_contains_DNA $f; then
echo "DNA exist in " $f >> $SUMMARYPATH
#touch $OUTFILENAME$f
awk '/^ATOM/&&substr($0,20,1)~/[GATC]/{print;l++;a[substr($0,20,1)]++}END{printf "total line : %s\n",l;for (i in a) printf "%s : %s \n",i,a[i]}' $f >> $RESULTSPATH$OUTFILENAME$f
else
echo "DNA DOES NOT exist in "$f >> $SUMMARYPATH
fi
done
추가 생각 :
이쉬운 해결책이있을 수 있습니다. "awk"대신에 "awk"를 사용하여 두 개의 파일로 출력 할 수 있습니까? 그래서 내가 지금 가지고있는 결과 파일을 출력하고, awk 이전의 줄에 대해하는 것처럼 "SUMMARY"파일 하나에 추가하고 싶습니까?
'배열 = ($ (awk 명령))'? –
데이터의 모든 전체 라인을 원할 필요가 없다면 기준에 대한 반복 카운터 만 필요합니까? GATC와 각 히트를 찾고, 카운터에 추가하고 배열 목록에 추가 할 각 파일을 추적하고 싶습니다. 따라서 첫 번째 배열 [1]은 각 GATC와 총계의 합계를가집니다 ... 두 번째 배열 [2]는 파일 2를 가질 것입니다. – MAXGEN