這篇文章主要介紹了shell指令碼統計檔案行數的8種方法,本文講解了獲取單個檔案行數、獲取特定目錄所有檔案的行數兩種需求共計8種方法,需要的朋友可以參考下
獲取單個檔案行數
檔案:test1.sh
行數:20
方法一
複製**
**如下:
awk '' test1.sh|tail -n1
如圖所示:
方法二
複製**
**如下:
awk 'end' test1.sh
如圖所示:
方法三
複製**
**如下:
grep -n "" test1.sh|awk -f: '|tail -n1
如圖所示:
方法四
複製**
**如下:
sed -n '$=' test1.sh
如圖所示:
方法五
複製**
**如下:
wc -l test1.sh
如圖所示:
方法六
複製**
**如下:
#cat test1.sh |wc -l
如圖所示:
獲取特定目錄所有檔案的行數
**如下:
複製**
**如下:
#!/bin/bash
filescount=0
linescount=0
function funcount()
if [ $# -gt 0 ];then
for m_dir in $@
dofuncount $m_dir
done
else
funcount "."
fiecho "filescount = $filescount"
echo "linescount = $linescount"
使用方法:
1、針對本目錄
複製**
**如下:
./count.sh
2、統計多個目錄
複製**
**如下:
./count.sh /tmp ~
執行效果如下:
獲取特定目錄特定副檔名檔案的行數
**如下:
複製**
**如下:
#!/bin/bash
extens=(".c" ".cpp" ".h" ".hpp")
filescount=0
linescount=0
function funcount()
echo "filename = $filename extension = $extension"
if [[ "$" != "$" ]];then
declare -i filelines
filelines=`sed -n '$=' $filename`
echo $filename" : "$filelines
let linescount=$linescount+$filelines
let filescount=$filescount+1
fifi
done
}if [ $# -gt 0 ];then
for m_dir in $@
dofuncount $m_dir
done
else
funcount "."
fiecho "filescount = $filescount"
echo "linescount = $linescount"
使用方法:
1、針對本目錄
複製**
**如下:
./count.sh
2、統計多個目錄
複製**
**如下:
./count.sh /tmp ~
執行效果如下:
Shell 指令碼統計檔案行數
示例 row count.s 件 awk row count.sh tail n1 awk end row count.sh grep n row count.sh awk f tail n1 sed n row count.sh wc l row count.sh cat row count.sh...
Shell指令碼統計檔案行數的8種方法
方法一 awk test1.sh tail n1 示例 root adiislogdata164 test ls front action.log.2015 05 13 00.log root adiislogdata164 test awk front action.log.2015 05 13 ...
Linux統計檔案行數
語法 wc 選項 檔案 說明 該命令統計給定檔案中的位元組數 字數 行數。如果沒有給出檔名,則從標準輸入讀取。wc同時也給出所有指定檔案的 計數。字是由空格字元區分開的最大字串。該命令各選項含義如下 c 統計位元組數。l 統計行數。w 統計字數。這些選項可以組合使用。輸出列的順序和數目不受選項的順序...