셸 통계 C 코드 줄 수
                                            
 5369 단어  shell
                    
오 랜 만 에 쓴 것 이 있 습 니 다. 적어 서 쌓 아 보 세 요. 셸 도 써 본 적 이 없습니다. 셸 을 써 서 C 프로그램 코드 줄 수 를 통계 해 보 세 요.
구체 적 인 코드 는 다음 과 같다.
#  : shell           
#  :asq
#  :2016-11-07
#  :     /**/   ,        ,        #if 0 #endif
#!/bin/sh
folder="."
res_path="count_res"
tmp=${res_path}"/"
# 0          
if [ ! -d ${res_path} ]; then
    mkdir ${res_path}
else
        rm -rf ${res_path}/*
fi
#     ^M  
for org_name in ${folder}/*.c; do
    new_name=${tmp}`basename $org_name`
        tr -d "\015" < ${org_name} > ${new_name} 
done
for org_name in ${folder}/*.h; do
    new_name=${tmp}`basename $org_name`
        tr -d "\015" < ${org_name} > ${new_name} 
done
#         
#2.1    
for file_name in ${res_path}/* ;do
    sed -i "/^[[:blank:]]*$/d" ${file_name}
done
#2.2  /**/   
for file_name in ${res_path}/* ;do
    #sed -i "/^[[:blank:]]*\/\*.*\*\/[[:blank:]]*$/d" ${file_name}
    #               ,   grep 
        new_name=${tmp}"new_"`basename ${file_name}`
    grep -v "^[[:blank:]]*\/\*.*\*\/[[:blank:]]*$" ${file_name}  > ${new_name}
        rm ${file_name}
done
#exit 0
#2.3  /**/   
for file_name in ${res_path}/* ;do
    sed -i "/^[[:blank:]]*\/\*.*/,/^[[:blank:]]*.*\*\/$/d" ${file_name}
done
#2.4  #if 0 #endif   
for file_name in ${res_path}/* ;do
    #if 0       
    sed -i "/^[[:blank:]]*#if[[:blank:]][[:blank:]]*0.*/,/^[[:blank:]]*#endif.*/d" ${file_name}
done
#2.5  //   
for file_name in ${res_path}/* ;do
    sed -i "/^[[:blank:]]*\/\/.*/d" ${file_name}
done
#2.6     }{,    
#     
echo "the total line of the program is:"`grep -nr "" ${tmp} | wc -l` > ${tmp}result.txt
echo "finish counting the code's lines, see result in count_res/result.txt"
exit 0이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ZSH에서 물고기까지ZSH는 수년 동안 내 기본 셸이었습니다. 이제 몇 달 동안 사용하면서 ZSH 구성에 대해 몇 가지 사항을 발견했습니다. 우리는 을 제공하는 시스템과 더 빨리 상호 작용하는 경향이 있습니다. 내.zshrc 구성에는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.