루프에서 파일 이름을 인쇄하는 방법은 무엇입니까? 나는 당신이 -v
플래그를 사용하여 awk 스크립트에 bash는 변수를 사용할 수 있습니다awk 루프에서 삽입을 인쇄하는 방법
awk '{sum +=$4;n++}END{print $i\t sum/n}' $i
루프에서 파일 이름을 인쇄하는 방법은 무엇입니까? 나는 당신이 -v
플래그를 사용하여 awk 스크립트에 bash는 변수를 사용할 수 있습니다awk 루프에서 삽입을 인쇄하는 방법
awk '{sum +=$4;n++}END{print $i\t sum/n}' $i
원하는 의미
for i in `ls *cov`
do
awk '{sum +=$4;n++}END{print sum/n}' $i
done
: 나는 파일 이름과 같은 줄에 열 4의 평균 값을 인쇄 할 :
awk -v file=$i '{sum +=$4;n++}END{print file\t sum/n}' $i
그러나, 또한 built in awk variableFILENAME
가 :
awk '{sum +=$4;n++}END{print FILENAME\t sum/n}' $i
변수를 전달하지 않으므로 훨씬 더 깨끗합니다.
루프 (why-is-using-a-shell-loop-to-process-text-considered-bad-practice 참조) 잃을 그냥 사용 : 위의 ENDFILE에 대한 GNU AWK를 사용하는
awk -v OFS='\t' '{sum+=$4} ENDFILE{print FILENAME, (FNR>0 ? sum/FNR : 0); sum=0}' *cov
, 다른 AWKS에 대한 간단한 개조하면 되겠 어있다하지만 중요한 사항은 다음과 같습니다 주변
n
이 필요하지 않습니다.