![데비안에서는 Perl을 위해 얼마나 많은 코드가 작성되나요?](https://linux55.com/image/212062/%EB%8D%B0%EB%B9%84%EC%95%88%EC%97%90%EC%84%9C%EB%8A%94%20Perl%EC%9D%84%20%EC%9C%84%ED%95%B4%20%EC%96%BC%EB%A7%88%EB%82%98%20%EB%A7%8E%EC%9D%80%20%EC%BD%94%EB%93%9C%EA%B0%80%20%EC%9E%91%EC%84%B1%EB%90%98%EB%82%98%EC%9A%94%3F.png)
내 데비안 운영 체제:
cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
데비안 우디에는 Perl로 작성된 계산 코드를 위한 코드가 있는데, 운영 체제의 코드 계산
예를 들어, 데비안 우디에서는 약 400-500Mbs입니다. 다음을 시도해 보세요:
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
모든 코드를 복사하여 OS에서 실행합니다.
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
크기가 0인 이유는 무엇입니까?
답변1
에러 코드
귀하의 링크를 클릭하면 코드는 다음과 같습니다.
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
내 데비안과 마찬가지로 해당 섹션이 존재하지 않으므로 결과가 0인 것이 정상입니다.
해결책
#!/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)) MiB"