Debian
perl 在 debian 中寫了多少程式碼?
我的Debian作業系統:
cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 11 (bullseye)" NAME="Debian GNU/Linux" VERSION_ID="11" VERSION="11 (bullseye)" VERSION_CODENAME=bullseye
Debian woody中有 計算perl寫的程式碼,os中計算程式碼
例如,在 Debian woody 中它大約是 400-500 Mbs,試試這個:
size=0 for i in `grep -A 1 -B 1 "^Section: base" /var/lib/dpkg/available | grep -A 2 "^Priority: required" |grep "^Installed-Size" |cut -d : -f 2 `; do size=$(($size+$i)); done echo $size 47762
我複制所有程式碼並在我的作業系統中執行:
debian@debian:~$ size=0 debian@debian:~$ for i in `grep -A 1 -B 1 "^Section: base" /var/lib/dpkg/available | grep -A 2 "^Priority: required" |grep "^Installed-Size" |cut -d : -f 2 `; do size=$(($size+$i)); done debian@debian:~$ echo $size 0
為什麼大小為零?
錯誤程式碼
如果我按照您的連結,程式碼是:
for i in /bin/* /sbin/* /usr/bin/* /usr/sbin/*; do [ -f $i ] && { type=`file $i | grep -il perl` [ -n "$type" ] && echo $i; } done
此外,在您的嘗試中(見上圖),您正在嘗試從文件中訪問
grep
該base
部分,就像在我的 debian 上一樣,該部分不存在,因此零結果是正常的。解決方案
#!/bin/bash size=0 for i in /bin/* /sbin/* /usr/bin/* /usr/sbin/*; do [[ -x $i ]] && file -i $i | grep -q perl && ds=$(du $i | awk '{print $1}') ((size+=ds)) done echo "$((size/1024))MB"