最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Shell腳本實(shí)現(xiàn)C語(yǔ)言代碼行數(shù)統(tǒng)計(jì)

 更新時(shí)間:2015年05月11日 09:18:00   投稿:junjie  
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)C語(yǔ)言代碼行數(shù)統(tǒng)計(jì),本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下

寫(xiě)了一個(gè)比較粗糙的C語(yǔ)言代碼行數(shù)統(tǒng)計(jì)腳本,目前還有些bug,而且效率也不高。腳本主要就是去除大部分的注釋后統(tǒng)計(jì)行數(shù),相當(dāng)于做了一部分預(yù)處理的工作。下面是代碼:

#!/bin/bash 

filename=$1
echo "`whoami`"
if [ $# -lt 1 ];then
 echo "usage : ./scripts filename"
 exit -1
fi

if [ ! -f $filename ];then
 echo "$filename is not a file"
 exit 0;
fi 

user="`whoami`"
if [ "$user" != "root" ];then
 echo "use scripts with root"
 exit 0;
fi

#刪除空行,空行包括:tables + space
sed '/^[[:blank:]]*$/d' $filename > "${filename}_backup"

#刪除 // 所在的行
sed -i '/^[[:blank:]]*\/\//d' "${filename}_backup"

#/*xxxxx*/
#打印/*所有的開(kāi)始行
grep -n '[[:blank:]]*/[*]' "${filename}_backup" | awk 'BEGIN{FS=":"}{print $1}' > "start.txt"
#打印*/所有的結(jié)束行
grep -n '[*]/[[:blank:]]*' "${filename}_backup" | awk 'BEGIN{FS=":"}{print $1}' > "end.txt"

#合并兩個(gè)文件,final.txt里面每行就是/*xx....\n....xx*/這種類(lèi)型注釋的開(kāi)始行和起始行號(hào)
paste "start.txt" "end.txt" > "final.txt"

while read line
do
 #得到起始行
 START=`echo "$line" | awk 'BEGIN{FS="\t"}{print $1}'`
 #得到結(jié)束行
 END=`echo "$line" | awk 'BEGIN{FS="\t"}{print $2}'`
 #這里有一個(gè)bug,如是/*xxxx*/中的/*和*/在同一行出現(xiàn),并且有代碼也在同一行
 # printf("hello world\n"); /*打印字符串*/ 
 # /*打印字符串*/
 #上面兩種情況的就沒(méi)法判斷,希望大家優(yōu)化
 if [ $START -eq $END ];then
 continue
 fi
 #刪除/*到*/中間所有行
 sed -i "${START},${END}d" "${filename}_backup"
done < "final.txt"

wc -l "${filename}_backup"
rm -f "final.txt" "start.txt" "end.txt"

腳本只能實(shí)現(xiàn)大概的代碼行數(shù)的統(tǒng)計(jì),不能做到精確統(tǒng)計(jì)!
因?yàn)闆](méi)有做很多的測(cè)試,而且也不排除有些比較少見(jiàn)的注釋我沒(méi)考慮到,另外腳本的效率也比較差,用了很多tmp文件。
所以希望大家多提提意見(jiàn)!

相關(guān)文章

  • Shell腳本中使用getopts處理多命令行選項(xiàng)

    Shell腳本中使用getopts處理多命令行選項(xiàng)

    今天小編就為大家分享一篇關(guān)于Shell腳本中使用getopts處理多命令行選項(xiàng),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • linux patch 命令小結(jié)(收藏)

    linux patch 命令小結(jié)(收藏)

    說(shuō)到patch命令,就不得不提到diff命令,也就是制作patch的必要工具。這篇文章主要介紹了linux patch 命令小結(jié),需要的朋友可以參考下
    2017-02-02
  • linux 網(wǎng)卡配置詳解及實(shí)例

    linux 網(wǎng)卡配置詳解及實(shí)例

    這篇文章主要介紹了linux 網(wǎng)卡配置詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • linux shell進(jìn)度條實(shí)現(xiàn)方法

    linux shell進(jìn)度條實(shí)現(xiàn)方法

    linux shell實(shí)現(xiàn)的一咱進(jìn)度條,代碼很簡(jiǎn)單,供大家參考
    2013-11-11
  • 在Linux中查找 IP 地址的3種方法

    在Linux中查找 IP 地址的3種方法

    在 Linux 系統(tǒng)中,經(jīng)常需要查找 IP 地址以進(jìn)行網(wǎng)絡(luò)配置、故障排除或安全管理,無(wú)論是查找本地主機(jī)的 IP 地址還是查找其他設(shè)備的 IP 地址,本文將介紹三種簡(jiǎn)單的方法,幫助你在 Linux 中輕松找到所需的 IP 地址,需要的朋友可以參考下
    2023-09-09
  • linux shell之控制臺(tái)打印各種顏色字體和背景的實(shí)現(xiàn)方法

    linux shell之控制臺(tái)打印各種顏色字體和背景的實(shí)現(xiàn)方法

    今天小編就為大家分享一篇關(guān)于linux shell之控制臺(tái)打印各種顏色字體和背景的實(shí)現(xiàn)方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-04-04
  • Shell獲取路徑操作(dirname $0 pwd)的實(shí)現(xiàn)

    Shell獲取路徑操作(dirname $0 pwd)的實(shí)現(xiàn)

    在shell腳本中經(jīng)常會(huì)看到$(cd $(dirname $0); pwd)、basename等操作,本文主要介紹了Shell獲取路徑操作(dirname $0 pwd)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Linux文件管理方法介紹

    Linux文件管理方法介紹

    這篇文章介紹了Linux文件管理的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • shell腳本實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)雙機(jī)定時(shí)備份的方法

    shell腳本實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)雙機(jī)定時(shí)備份的方法

    最近有個(gè)需求,要求實(shí)現(xiàn)對(duì)某個(gè)數(shù)據(jù)庫(kù)進(jìn)行雙機(jī)備份,每天凌晨備份一次,要求主機(jī)器只保留最近十五天的記錄,我們決定用shell腳本加定時(shí)任務(wù)的方式來(lái)實(shí)現(xiàn)這個(gè)需求,接下來(lái)通過(guò)本文給大家介紹shell腳本實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)雙機(jī)定時(shí)備份的方法,感興趣的朋友一起看看吧
    2022-07-07
  • shell 進(jìn)度條實(shí)現(xiàn)代碼

    shell 進(jìn)度條實(shí)現(xiàn)代碼

    shell實(shí)現(xiàn)的一個(gè)進(jìn)度條,感興趣的朋友不妨看看
    2013-02-02

最新評(píng)論

平舆县| 安泽县| 旺苍县| 福贡县| 噶尔县| 额尔古纳市| 定州市| 百色市| 威宁| 福海县| 平昌县| 朔州市| 沙坪坝区| 广安市| 汝阳县| 巩义市| 衡水市| 万全县| 营口市| 莱西市| 当雄县| 安康市| 故城县| 玉环县| 盐亭县| 定陶县| 四子王旗| 天柱县| 彰化县| 犍为县| 涪陵区| 新竹县| 方城县| 万全县| 保康县| 黄陵县| 太谷县| 庆安县| 孝昌县| 黄陵县| 临泽县|