Skip to content

Instantly share code, notes, and snippets.

@allekok
Created November 3, 2024 09:36
Show Gist options
  • Save allekok/e763f8e4845c9a5a7c9fe21b71628f20 to your computer and use it in GitHub Desktop.
Save allekok/e763f8e4845c9a5a7c9fe21b71628f20 to your computer and use it in GitHub Desktop.
Null
<?php
$n = 0;
$e = 0;
$A = [];
scan_all("/bin");
scan_all("/sbin");
scan_all("/usr/bin");
scan_all("/usr/sbin");
scan_all("/usr/local/bin");
scan_all("/usr/local/sbin");
echo "File: $path\n";
echo "Empty: " . number_format($e) . "B\n";
echo "Full: " . number_format($n - $e) . "B\n";
echo "Whole: " . number_format($n) . "B\n";
echo "Null Percentage: " . round($e / $n * 100) . "%\n";
echo "---------\n";
flush();
rsort($A);
for($i = 0; $i < count($A); $i++) {
echo "{$A[$i][1]}: " . round($A[$i][0] / $n * 100, 3) . "%\n";
}
function scan_all($path) {
$files = array_diff(scandir($path), [".", ".."]);
foreach($files as $i => $file) {
if(is_dir("$path/$file"))
scan_all("$path/$file");
else
count_bytes("$path/$file");
}
}
function count_bytes($path) {
global $n, $e, $A;
$f = fopen($path, "rb");
if(!$f) return;
while(!feof($f)) {
$b = fread($f, 1);
if(isset($A[ord($b)]))
$A[ord($b)][0]++;
else
$A[ord($b)] = [1, ord($b)];
$n++;
if($b == "\0")
$e++;
}
fclose($f);
}
?>
Null: 924,521,718 B
Full: 2,262,110,444 B
All: 3,186,632,162 B
Null Percentage: 29%
---------
Byte Percentage
0: 29.013%
72: 3.621%
255: 3.302%
137: 1.936%
15: 1.61%
1: 1.595%
32: 1.56%
139: 1.414%
36: 1.182%
116: 1.045%
2: 1.009%
76: 0.966%
65: 0.936%
101: 0.93%
141: 0.919%
192: 0.85%
14: 0.795%
8: 0.774%
4: 0.712%
16: 0.704%
133: 0.703%
68: 0.702%
131: 0.7%
232: 0.66%
5: 0.649%
73: 0.649%
97: 0.618%
114: 0.604%
132: 0.604%
111: 0.602%
3: 0.594%
105: 0.581%
110: 0.58%
102: 0.573%
115: 0.562%
49: 0.525%
69: 0.509%
21: 0.502%
95: 0.493%
117: 0.487%
108: 0.476%
100: 0.456%
48: 0.423%
6: 0.411%
99: 0.406%
31: 0.404%
24: 0.404%
112: 0.4%
233: 0.396%
40: 0.394%
64: 0.36%
199: 0.343%
80: 0.334%
128: 0.331%
66: 0.326%
10: 0.324%
103: 0.324%
254: 0.32%
7: 0.306%
109: 0.286%
104: 0.285%
84: 0.283%
195: 0.283%
83: 0.282%
56: 0.28%
77: 0.279%
46: 0.276%
57: 0.269%
144: 0.264%
250: 0.256%
37: 0.256%
204: 0.245%
193: 0.242%
243: 0.242%
13: 0.24%
67: 0.238%
12: 0.236%
85: 0.234%
9: 0.232%
93: 0.226%
96: 0.226%
41: 0.224%
11: 0.223%
30: 0.214%
120: 0.212%
248: 0.211%
53: 0.209%
253: 0.206%
251: 0.203%
92: 0.201%
198: 0.199%
61: 0.199%
208: 0.198%
17: 0.198%
246: 0.196%
239: 0.194%
196: 0.194%
235: 0.193%
118: 0.192%
224: 0.189%
240: 0.188%
223: 0.187%
98: 0.185%
186: 0.184%
124: 0.182%
184: 0.178%
45: 0.178%
71: 0.178%
70: 0.175%
91: 0.173%
121: 0.173%
136: 0.172%
78: 0.166%
18: 0.165%
88: 0.163%
20: 0.163%
200: 0.162%
190: 0.16%
252: 0.159%
201: 0.158%
247: 0.154%
140: 0.153%
134: 0.153%
236: 0.152%
176: 0.151%
47: 0.149%
194: 0.149%
191: 0.149%
129: 0.147%
182: 0.147%
216: 0.146%
44: 0.145%
210: 0.143%
160: 0.141%
58: 0.141%
50: 0.14%
52: 0.139%
119: 0.139%
82: 0.137%
60: 0.137%
86: 0.135%
107: 0.135%
231: 0.131%
197: 0.128%
242: 0.125%
59: 0.124%
79: 0.124%
28: 0.12%
87: 0.119%
125: 0.119%
34: 0.119%
51: 0.118%
43: 0.118%
238: 0.117%
168: 0.116%
188: 0.115%
185: 0.114%
152: 0.113%
189: 0.113%
237: 0.112%
19: 0.112%
94: 0.112%
75: 0.112%
249: 0.111%
33: 0.109%
39: 0.109%
142: 0.108%
123: 0.107%
230: 0.106%
127: 0.104%
148: 0.103%
23: 0.103%
74: 0.102%
62: 0.101%
143: 0.101%
226: 0.101%
219: 0.101%
35: 0.098%
90: 0.098%
229: 0.098%
22: 0.097%
228: 0.096%
234: 0.095%
135: 0.095%
29: 0.094%
222: 0.093%
63: 0.093%
55: 0.093%
42: 0.092%
225: 0.091%
54: 0.091%
25: 0.091%
130: 0.09%
106: 0.09%
149: 0.09%
180: 0.089%
209: 0.088%
126: 0.087%
244: 0.087%
81: 0.087%
27: 0.086%
183: 0.086%
156: 0.086%
187: 0.085%
26: 0.085%
170: 0.085%
245: 0.085%
38: 0.084%
122: 0.084%
221: 0.082%
241: 0.081%
89: 0.081%
202: 0.08%
181: 0.08%
206: 0.077%
172: 0.077%
211: 0.077%
217: 0.076%
214: 0.075%
227: 0.075%
113: 0.074%
218: 0.074%
220: 0.073%
215: 0.072%
212: 0.072%
164: 0.071%
213: 0.069%
205: 0.069%
207: 0.068%
147: 0.067%
175: 0.067%
157: 0.066%
203: 0.065%
165: 0.064%
171: 0.064%
146: 0.063%
163: 0.061%
151: 0.061%
179: 0.061%
138: 0.06%
167: 0.06%
173: 0.06%
155: 0.059%
150: 0.059%
159: 0.058%
153: 0.058%
166: 0.058%
145: 0.057%
162: 0.056%
177: 0.056%
154: 0.056%
169: 0.055%
158: 0.055%
178: 0.054%
174: 0.054%
161: 0.053%
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment