Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions implement-shell-tools/cat/cat*.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
const fs = require("fs");
const folderPath = "./sample-files";
const content = fs.readdirSync(folderPath);

const txtFiles = content.filter((file) => file.endsWith(".txt"));
process.stdout.write(txtFiles.join("\n"));
12 changes: 12 additions & 0 deletions implement-shell-tools/cat/cat-b.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
const fs = require("fs");
const filePath = "./sample-files/3.txt";
const content = fs.readFileSync(filePath, "utf-8");

let count = 1;
const numberLines = content.split("\n").map((line) => {
if (line.trim() !== "") {
return `${count++} ${line.trim()}`;
}
return "";
});
process.stdout.write(numberLines.join("\n"));
9 changes: 9 additions & 0 deletions implement-shell-tools/cat/cat-n*txt.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
const fs = require("fs");
const folderPath = "./sample-files";
const content = fs.readdirSync(folderPath);

const txtFiles = content.filter((file) => file.endsWith(".txt"));
const numberedLine = txtFiles.map((line, index) => {
return `${index + 1} ${line}`;
});
process.stdout.write(numberedLine.join("\n"));
8 changes: 8 additions & 0 deletions implement-shell-tools/cat/cat-n.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
const fs = require("fs");
const filePath = "./sample-files/1.txt";
const content = fs.readFileSync(filePath, "utf-8");

const lineNumber = content.split("\n").map((line, index) => {
return `${index + 1} ${line}`;
});
process.stdout.write(lineNumber.join("\n"));
6 changes: 6 additions & 0 deletions implement-shell-tools/cat/cat.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
const fs = require("fs");
const filePath = "./sample-files/1.txt";

const content = fs.readFileSync(filePath, "utf-8");

process.stdout.write(content);
8 changes: 8 additions & 0 deletions implement-shell-tools/ls/ls-1-a.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
const fs = require("fs");
const path = "./sample-files";
const content = fs.readdirSync(path);
console.log(".");
console.log("..");

const files = content.map((item) => item);
console.log(files.join("\n"));
5 changes: 5 additions & 0 deletions implement-shell-tools/ls/ls-1-sample-files.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
const fs = require("fs");
const path = "./sample-files";
const contents = fs.readdirSync(path).filter((file) => !file.startsWith("."));

console.log(contents.join("\n"));
4 changes: 4 additions & 0 deletions implement-shell-tools/ls/ls-1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
const fs = require("fs");
const path = "../ls";
const files = fs.readdirSync(path);
console.log(files.join("\n"));
4 changes: 4 additions & 0 deletions implement-shell-tools/ls/ls-sample-1txt.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
const fs = require("fs");
const path = "./sample-files/1.txt";

console.log(path);
12 changes: 12 additions & 0 deletions implement-shell-tools/ls/ls-sample-files*.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
const fs = require("fs");
const path = "./sample-files";
const directories = fs.readdirSync(path);

directories.forEach((file) => {
if (file === "dir") {
console.log("dir:");
console.log(fs.readdirSync("./sample-files/dir").join(" "));
} else {
console.log(file);
}
});
5 changes: 5 additions & 0 deletions implement-shell-tools/ls/ls-sample-files.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
const fs = require("fs");
const folderPath = "./sample-files";
const contents = fs.readdirSync(folderPath);

console.log(contents.join(" "));
9 changes: 9 additions & 0 deletions implement-shell-tools/wc/wc-3txt.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
const fs = require("fs");
const file = "./sample-files/3.txt";
const content = fs.readFileSync(file, "utf-8");

let lines = 0;

const line = content.split("\n").length - 1;
lines += line;
console.log(lines, file);
9 changes: 9 additions & 0 deletions implement-shell-tools/wc/wc-character-count.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
const fs = require("fs");
const file = "./sample-files/3.txt";
const content = fs.readFileSync(file, "utf-8");

let characters = 0;

const char = content.length;
characters += char;
console.log(characters, file);
19 changes: 19 additions & 0 deletions implement-shell-tools/wc/wc-count-lines-words-total.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
const fs = require("fs");
const folder = "./sample-files";
const content = fs.readdirSync(folder);

let totalLines = 0;
let totalWords = 0;
content.forEach((file) => {
const path = `${folder}/${file}`;
const filePath = fs.readFileSync(path, "utf-8");

const line = filePath.split("\n").length - 1;
const word = filePath.split(/\s+/).length - 1;

totalLines += line;
totalWords += word;
console.log(line, word, path);
});

console.log(totalLines, totalWords, "total");
8 changes: 8 additions & 0 deletions implement-shell-tools/wc/wc-count-lines-words.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
const fs = require("fs");
const file = "./sample-files/3.txt";
const content = fs.readFileSync(file, "utf-8");

const line = content.split("\n").length - 1;
const word = content.split(/\s+/).length - 1;

console.log(line, word, file);
16 changes: 16 additions & 0 deletions implement-shell-tools/wc/wc-lines-files.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
const fs = require("fs");
const folder = "./sample-files";
const filesPath = fs.readdirSync(folder);

let totalLines = 0;

filesPath.forEach((file) => {
const path = `${folder}/${file}`;
const files = fs.readFileSync(path, "utf-8");

const lines = files.split("\n").length - 1;
console.log(lines, path);

totalLines += lines;
});
console.log(totalLines, "total");
7 changes: 7 additions & 0 deletions implement-shell-tools/wc/wc-word-count.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
const fs = require("fs");
const file = "./sample-files/3.txt";
const content = fs.readFileSync(file, "utf-8");

const word = content.split(/\s+/).length - 1;

console.log(word, file);
28 changes: 28 additions & 0 deletions implement-shell-tools/wc/wc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
// Power shell commands =======> Vs <===== Js codes

// wc sample-files/*

const fs = require("fs");
const filePath = "./sample-files";
const contents = fs.readdirSync(filePath);

let totalLines = 0;
let totalWords = 0;
let totalCharacters = 0;

contents.forEach((file) => {
const path = `${filePath}/${file}`;

const files = fs.readFileSync(path, "utf-8");

const lines = files.split("\n").length - 1;
const words = files.trim().split(/\s+/).length;
const chars = files.length;

console.log(lines, words, chars, path);

totalLines += lines;
totalWords += words;
totalCharacters += chars;
});
console.log(totalLines, totalWords, totalCharacters, "total");
Loading