forked from CodeYourFuture/Module-Tools
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwc.js
More file actions
29 lines (23 loc) · 697 Bytes
/
wc.js
File metadata and controls
29 lines (23 loc) · 697 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
const fs = require("fs");
const args = process.argv.slice(2);
const showLines = args.includes("-l");
const showWords = args.includes("-w");
const showChars = args.includes("-c");
const files = args.filter(
(arg) => arg !== "-l" && arg !== "-w" && arg !== "-c"
);
for (const file of files) {
const content = fs.readFileSync(file, "utf8");
const lines = content.split("\n").length;
const words = content.trim().split(/\s+/).length;
const chars = content.length;
if (showLines) {
console.log(lines, file);
} else if (showWords) {
console.log(words, file);
} else if (showChars) {
console.log(chars, file);
} else {
console.log(lines, words, chars, file);
}
}