Skip to content

Repository files navigation

UNIX/Linux/Bash shell, C

"vi has 2 modes. One that beeps at you, and another that ruins everything."

SubdomainThemeLink
TheoryUnix-like Operating Systems – TheoryTheory (main)
Theory (additional)
The Little Book of Semaphores
FMI>TasksAll tasks included in 2020 FMI longlistLonglist 2020
FMI>Cheat sheetsGood coders code, great coders reuseBash Redirection Cheat Sheets
vi Reference Card
Makefile
FMI>ProjectImage editorcrop [ipoint median_faces rect_faces].sh
crop_all.sh

FMI Tasks

NSubdomainTaskSolution
131FMI>C>ProcessesExam 2020-07-12 Task 2foo.c
bar.c
130FMI>C>ProcessesExam 2020-07-12 Task 1Examples
Solution.c
129FMI>C>ProcessesAdditional Task 2.mdSolution.c
128FMI>C>ProcessesAdditional Task 1.mdSolution.c
127FMI>C>Processescat a.txt / sort / uniq.cSolution 1 (long).c
Solution 2 (short).c
126FMI>C>Processescat passwd.txt / cut -d ':' -f 7 / sort / uniq.cSolution.c
125FMI>C>ProcessesTask P03.cSolution.c
124FMI>C>ProcessesTask P02.cSolution.c
123FMI>C>ProcessesTask P01.cSolution 1.c
Solution 2.c
121FMI>C>ProcessesTask 13.cSolution 1.c
Solution 2.c
120FMI>C>ProcessesTask 12.cSolution.c
119FMI>C>ProcessesTask 11.cSolution.c
118FMI>C>ProcessesTask 10.cSolution.c
117FMI>C>ProcessesTask 09.cSolution.c
116FMI>C>ProcessesTask 08.cSolution 1.c
Solution 2(more precise).c
115FMI>C>ProcessesTask 07.cSolution.c
114FMI>C>ProcessesTask 06.cSolution.c
113FMI>C>ProcessesTask 05.cSolution.c
112FMI>C>ProcessesTask 04.cSolution.c
111FMI>C>ProcessesTask 03.cSolution.c
110FMI>C>ProcessesTask 02.cSolution.c
109FMI>C>ProcessesTask 01.cSolution.c
108FMI>C>ProcessesTask 48Solution 1.c
Solution 2.c
test cmd for 2nd sol.sh
107FMI>C>ProcessesTask 47Solution.c
106FMI>C>ProcessesTask 46Solution.c
105FMI>C>ProcessesTask 45Solution.c
104FMI>C>ProcessesPrompt with arguments.mdSolution 1.c
Solution 2.c
103FMI>C>ProcessesTask 44Solution 1.c
Solution 2.c
102FMI>C>ProcessesTask 43Solution.c
101FMI>C>Processesclassic deadlock exampledeadlock.c
100FMI>C>Processesfork-loopfork-loop.c
99FMI>C>Read/Write41. sort max 65535 uint16_t elementsSolution 1 (counting sort).c
Solution 2 (heapsort).c
98FMI>C>Read/Write40. cutSolution.c
97FMI>C>Read/Write39. equivalent to 33Solution (qsort + merge).c
96FMI>C>Read/Write38. tr [OPTION] SET1 [SET2]Solution 1.c
Solution 2 (strchr, strrchr).c
Solution 3 (goto).c
95FMI>C>Read/Write37. <patch.bin> <f1.bin> <f2.bin>Solution.c
94FMI>C>Read/Write36. cat with argsSolution 1.c
Solution 2 (more precise).c
93FMI>C>Read/Write35. <f1.bin> <f2.bin> <patch.bin>Solution 1.c
Solution 2.c
92FMI>C>Read/Write34. <f1.dat> <f1.idx> <f2.dat> <f2.idx>Solution 1.c
Solution 2.c
91FMI>C>Read/Write33. sort big binary fileSolution (qsort + merge).c
90FMI>C>Read/Write32. pairs extract from fileSolution 1.c
Solution 2.c
89FMI>C>Read/Write31. sort file.bin inplaceSolution.c
88FMI>C>Read/Writeoverflow testing with counting sortSolution.c
87FMI>Cmemory managementstruct padding.c
86FMI>C>Read/Write11. counting sortSolution 1 (<file.bin> <sorted.bin>).c
Solution 2 (inplace).c
85FMI>C>Read/Write10. [--print --min --max] binfileSolution.c
84FMI>C>Read/Write09. passwd with '?' separatorSolution.c
83FMI>C>Read/Write08. cp with multiple argsSolution 1.c
Solution 2.c
Solution 3.c
82FMI>C>Read/Write07. cat with multiple argsSolution.c
81FMI>C>Read/Write06. cp with 2 argsSolution.c
80FMI>C>Read/Write05. sort binary fileSolution.c
79FMI>C>Read/Write04. wcSolution.c
78FMI>C>Read/Write03. head without optionsSolution.c
77FMI>C>Read/Write02. swap filesSolution 1 (read and write).c
Solution 2 (renameat2).c
76FMI>C>Read/Write01. appendSolution 1 (O_APPEND).c
Solution 2 (lseek).c
75FMI>C>Read/Writepaste with 2 files.mdSolution.c
74FMI>ScriptsLonget Filename SearchSolution.sh
73FMI>Scripts./chfextSolution.sh
72FMI>ScriptsTask 29Solution.sh
71FMI>ScriptsTask 28Solution (A) cycle.sh
Solution 1 (B) extract last digit.sh
Solution 2 (B) smart sed + bc.sh
70FMI>ScriptsTask 27Solution 1 (sorted).sh
Solution 2 (input order).sh
69FMI>ScriptsTask 26Solution.sh
68FMI>ScriptsTask 25Solution.sh
67FMI>ScriptsTask 23Solution 1 (sort -V).sh
Solution 2 (multiple fields sort).sh
66FMI>ScriptsTask 24Solution.sh
65FMI>ScriptsTask 22Solution.sh
64FMI>ScriptsTask 21Solution.sh
63FMI>ScriptsTask 20Solution.sh
62FMI>ScriptsTask 19Solution.sh
61FMI>ScriptsTask 18Solution.sh
60FMI>ScriptsTask 17Solution.sh
59FMI>ScriptsTask 16Solution 1.sh
Solution 2.sh
58FMI>ScriptsTask 15Solution.sh
57FMI>ScriptsTask 14Solution.sh
56FMI>ScriptsTask 13Solution 1.sh
Solution 2.sh
55FMI>Shell05-b-9600Solution.sh
54FMI>Shell05-b-9501Solution.sh
53FMI>Shell05-b-9200Solution.sh
52FMI>Shell05-b-9100Solution.sh
51FMI>Shell05-b-8000Solution.sh
50FMI>Shell05-b-7800Solution.sh
49FMI>Shell05-b-7700Solution 1 (awk -v).sh
Solution 2 (-size).sh
48FMI>Shell05-b-7550Solution 1 (one by one - polite).sh
Solution 2 (all at once).sh
47FMI>Shell05-b-7500Solution.sh
46FMI>Shell05-b-7200Solution 1 (find by -size).sh
Solution 2 (awk -v).sh
45FMI>Shell05-b-7100Solution.sh
44FMI>Shell05-b-7000Solution.sh
43FMI>Shell05-b-6800Solution.sh
42FMI>Shell05-b-6600Solution 1 (pipe).sh
Solution 2 (process substitution).sh
41FMI>Shell05-b-5500Solution.sh
40FMI>Shell05-b-4800Solution.sh
39FMI>Shell05-b-4700Solution 1 (for loop).sh
Solution 2 (xargs).sh
Solution 3 (sed).sh
38FMI>Shell05-b-4600Solution.sh
37FMI>Shell05-b-4400Solution.sh
36FMI>Shell05-b-4301Solution.sh
35FMI>Shell05-b-4300Solution.sh
34FMI>Shell05-b-4200Solution 1.sh
Solution 2.sh
Solution 3.sh
33FMI>Shell05-b-3400Solution.sh
32FMI>Shell05-b-3300Solution.sh
31FMI>Shell05-b-3200Solution 1.sh
Solution 2.sh
30FMI>Shell05-b-3100Solution.sh
29FMI>Shell05-b-2800Solution 1 (bashism).sh
Solution 2 (pipe).sh
Solution 3 (process substitution).sh
28FMI>Shell05-b-2000Solution.sh
27FMI>Shell04-b-9000Solution 1.sh
Solution 2.sh
26FMI>Processes04-b-8000Solution.sh
25FMI>Processes04-b-7000Solution.sh
24FMI>Processes04-a-6300Solution.sh
23FMI>Processes04-b-6200Solution.sh
22FMI>Processes04-b-6100Solution.sh
21FMI>Processes04-a-6000Solution.sh
20FMI>Processes04-b-5000Solution.sh
19FMI>Processes04-a-5000Solution.sh
18FMI>ShellDraw PyramidSolution.sh
17FMI>File ProcessingE 12Solution.sh
16FMI>Text ProcessingE 11Solution.sh
15FMI>Text ProcessingE 10Solution.sh
14FMI>File ProcessingE 09Solution.sh
13FMI>File ProcessingE 08Solution.sh
12FMI>Text ProcessingE 07Solution.sh
11FMI>File ProcessingE 06Solution.sh
10FMI>File ProcessingE 05Solution.sh
9FMI>Text ProcessingE 04Solution.sh
8FMI>Text ProcessingE 02Solution.sh
7FMI>Text ProcessingE 01Solution.sh
6FMI>Text ProcessingT_02Solution.sh
5FMI>Text ProcessingT 01Solution.sh
4FMI>Text Processing03-b-7500Solution.sh
3FMI>Text ProcessingT_06Solution.sh
2FMI>Text ProcessingT_05Solution.sh
1FMI>Text ProcessingT_04Solution.sh

Warm up with Hackerrank

NSubdomainChallengePointsSolution
64Text ProcessingSort Command #11Solution.sh
63Text ProcessingSort Command #21Solution.sh
62Text ProcessingSort Command #31Solution.sh
61Text ProcessingSort Command #41Solution 1.sh
Solution 2.sh
60Text ProcessingSort Command #51Solution.sh
59Text ProcessingSort Command #61Solution.sh
58Text ProcessingSort Command #71Solution.sh
57Text Processing'Uniq' Command #11Solution.sh
56Text Processing'Uniq' Command #21Solution 1.sh
Solution 2.sh
55Text Processing'Uniq' Command #31Solution 1.sh
Solution 2.sh
54Text Processing'Uniq' Command #41Solution 1.sh
53Text Processing'Grep' A2Solution 1.sh
Solution 2.sh
52Text Processing'Grep' B2Solution 1.sh
Solution 2.sh
51Text Processing'Grep' #12Solution 1.sh
Solution 2.sh
50Text Processing'Grep' #22Solution.sh
49Text Processing'Grep' #32Solution.sh
48Text Processing'Sed' Command #12Solution 1.sh
Solution 2.sh
47Text Processing'Sed' Command #22Solution.sh
46Text Processing'Sed' Command #32Solution 1.sh
Solution 2.sh
45Text Processing'Sed' Command #42Solution 1.sh
Solution 2.sh
44Text Processing'Sed' Command #52Solution 1.sh
Solution 2.sh
43Text Processing'Awk' #12Solution 1.sh
Solution 2.sh
42Text Processing'Awk' #22Solution 1.sh
Solution 2.sh
41Text Processing'Awk' #32Solution 1.sh
Solution 2.sh
40Text Processing'Awk' #42Solution 1.sh
Solution 2.sh
39Text ProcessingCut #11Solution.sh
38Text ProcessingCut #21Solution.sh
37Text ProcessiingCut #31Solution.sh
36Text ProcessingCut #41Solution 1.sh
Solution 2.sh
35Text ProcessingCut #51Solution 1.sh
Solution 2.sh
34Text ProcessingCut #61Solution.sh
33Text ProcessingCut #71Solution.sh
32Text ProcessingCut #81Solution.sh
31Text ProcessingCut #91Solution.sh
30Text ProcessingPaste #12Solution.sh
29Text ProcessingPaste #22Solution.sh
28Text ProcessingPaste #32Solution.sh
27Text ProcessingPaste #42Solution 1.sh
Solution 2.sh
26Text ProcessingHead of a Text File #12Solution.sh
25Text ProcessingHead of a Text File #21Solution.sh
24Text ProcessingTail of a Text File #12Solution.sh
23Text ProcessingTail of a Text File #22Solution.sh
22Text ProcessingMiddle of a Text File3Solution 1.sh
Solution 2.sh
Solution 3.sh
21Text Processing'Tr' Command #11Solution 1.sh
Solution 2.sh
20Text Processing'Tr' Command #21Solution.sh
19Text Processing'Tr' Command #31Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
18BashLet's Echo1Solution.sh
17BashA Personalized Echo1Solution.sh
16BashLooping with Numbers2Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
15BashThe World of Numbers2Solution 1.sh
Solution 2.sh
14BashLooping and Skipping2Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
13BashComparing Numbers3Solution 1.sh
Solution 2.sh
12BashGetting started with conditionals3Solution 1.sh
Solution 2.sh
11BashMore on Conditionals3Solution.sh
10BashArithmetic Operations3Solution.sh
9BashCompute the Average4Solution.sh
8Arrays in BashFilter an Array with Patterns1Solution 1.sh
Solution 2.sh
7Arrays in BashRead in an Array1Solution 1.sh
Solution 2.sh
6Arrays in BashSlice an Array1Solution 1.sh
Solution 2.sh
5Arrays in BashConcatenate an array with itself1Solution.sh
4Arrays in BashDisplay an element of an array1Solution.sh
3Arrays in BashCount the number of elements in an Array1Solution.sh
2Arrays in BashRemove the First Capital Letter from Each Element1Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
1Arrays in BashLonely Integer - Bash!10Solution 1.sh
Solution 2.sh

About

Systems programming and kernel development, with expertise in Unix-like operating systems, synchronization theory, and C language implementation for Linux environments.

Topics

Resources

Stars

31 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - andy489/Linux_Shell: Systems programming and kernel development, with expertise in Unix-like operating systems, synchronization theory, and C language implementation for Linux environments. · GitHub
Skip to content

Repository files navigation

UNIX/Linux/Bash shell, C

"vi has 2 modes. One that beeps at you, and another that ruins everything."

SubdomainThemeLink
TheoryUnix-like Operating Systems – TheoryTheory (main)
Theory (additional)
The Little Book of Semaphores
FMI>TasksAll tasks included in 2020 FMI longlistLonglist 2020
FMI>Cheat sheetsGood coders code, great coders reuseBash Redirection Cheat Sheets
vi Reference Card
Makefile
FMI>ProjectImage editorcrop [ipoint median_faces rect_faces].sh
crop_all.sh

FMI Tasks

NSubdomainTaskSolution
131FMI>C>ProcessesExam 2020-07-12 Task 2foo.c
bar.c
130FMI>C>ProcessesExam 2020-07-12 Task 1Examples
Solution.c
129FMI>C>ProcessesAdditional Task 2.mdSolution.c
128FMI>C>ProcessesAdditional Task 1.mdSolution.c
127FMI>C>Processescat a.txt / sort / uniq.cSolution 1 (long).c
Solution 2 (short).c
126FMI>C>Processescat passwd.txt / cut -d ':' -f 7 / sort / uniq.cSolution.c
125FMI>C>ProcessesTask P03.cSolution.c
124FMI>C>ProcessesTask P02.cSolution.c
123FMI>C>ProcessesTask P01.cSolution 1.c
Solution 2.c
121FMI>C>ProcessesTask 13.cSolution 1.c
Solution 2.c
120FMI>C>ProcessesTask 12.cSolution.c
119FMI>C>ProcessesTask 11.cSolution.c
118FMI>C>ProcessesTask 10.cSolution.c
117FMI>C>ProcessesTask 09.cSolution.c
116FMI>C>ProcessesTask 08.cSolution 1.c
Solution 2(more precise).c
115FMI>C>ProcessesTask 07.cSolution.c
114FMI>C>ProcessesTask 06.cSolution.c
113FMI>C>ProcessesTask 05.cSolution.c
112FMI>C>ProcessesTask 04.cSolution.c
111FMI>C>ProcessesTask 03.cSolution.c
110FMI>C>ProcessesTask 02.cSolution.c
109FMI>C>ProcessesTask 01.cSolution.c
108FMI>C>ProcessesTask 48Solution 1.c
Solution 2.c
test cmd for 2nd sol.sh
107FMI>C>ProcessesTask 47Solution.c
106FMI>C>ProcessesTask 46Solution.c
105FMI>C>ProcessesTask 45Solution.c
104FMI>C>ProcessesPrompt with arguments.mdSolution 1.c
Solution 2.c
103FMI>C>ProcessesTask 44Solution 1.c
Solution 2.c
102FMI>C>ProcessesTask 43Solution.c
101FMI>C>Processesclassic deadlock exampledeadlock.c
100FMI>C>Processesfork-loopfork-loop.c
99FMI>C>Read/Write41. sort max 65535 uint16_t elementsSolution 1 (counting sort).c
Solution 2 (heapsort).c
98FMI>C>Read/Write40. cutSolution.c
97FMI>C>Read/Write39. equivalent to 33Solution (qsort + merge).c
96FMI>C>Read/Write38. tr [OPTION] SET1 [SET2]Solution 1.c
Solution 2 (strchr, strrchr).c
Solution 3 (goto).c
95FMI>C>Read/Write37. <patch.bin> <f1.bin> <f2.bin>Solution.c
94FMI>C>Read/Write36. cat with argsSolution 1.c
Solution 2 (more precise).c
93FMI>C>Read/Write35. <f1.bin> <f2.bin> <patch.bin>Solution 1.c
Solution 2.c
92FMI>C>Read/Write34. <f1.dat> <f1.idx> <f2.dat> <f2.idx>Solution 1.c
Solution 2.c
91FMI>C>Read/Write33. sort big binary fileSolution (qsort + merge).c
90FMI>C>Read/Write32. pairs extract from fileSolution 1.c
Solution 2.c
89FMI>C>Read/Write31. sort file.bin inplaceSolution.c
88FMI>C>Read/Writeoverflow testing with counting sortSolution.c
87FMI>Cmemory managementstruct padding.c
86FMI>C>Read/Write11. counting sortSolution 1 (<file.bin> <sorted.bin>).c
Solution 2 (inplace).c
85FMI>C>Read/Write10. [--print --min --max] binfileSolution.c
84FMI>C>Read/Write09. passwd with '?' separatorSolution.c
83FMI>C>Read/Write08. cp with multiple argsSolution 1.c
Solution 2.c
Solution 3.c
82FMI>C>Read/Write07. cat with multiple argsSolution.c
81FMI>C>Read/Write06. cp with 2 argsSolution.c
80FMI>C>Read/Write05. sort binary fileSolution.c
79FMI>C>Read/Write04. wcSolution.c
78FMI>C>Read/Write03. head without optionsSolution.c
77FMI>C>Read/Write02. swap filesSolution 1 (read and write).c
Solution 2 (renameat2).c
76FMI>C>Read/Write01. appendSolution 1 (O_APPEND).c
Solution 2 (lseek).c
75FMI>C>Read/Writepaste with 2 files.mdSolution.c
74FMI>ScriptsLonget Filename SearchSolution.sh
73FMI>Scripts./chfextSolution.sh
72FMI>ScriptsTask 29Solution.sh
71FMI>ScriptsTask 28Solution (A) cycle.sh
Solution 1 (B) extract last digit.sh
Solution 2 (B) smart sed + bc.sh
70FMI>ScriptsTask 27Solution 1 (sorted).sh
Solution 2 (input order).sh
69FMI>ScriptsTask 26Solution.sh
68FMI>ScriptsTask 25Solution.sh
67FMI>ScriptsTask 23Solution 1 (sort -V).sh
Solution 2 (multiple fields sort).sh
66FMI>ScriptsTask 24Solution.sh
65FMI>ScriptsTask 22Solution.sh
64FMI>ScriptsTask 21Solution.sh
63FMI>ScriptsTask 20Solution.sh
62FMI>ScriptsTask 19Solution.sh
61FMI>ScriptsTask 18Solution.sh
60FMI>ScriptsTask 17Solution.sh
59FMI>ScriptsTask 16Solution 1.sh
Solution 2.sh
58FMI>ScriptsTask 15Solution.sh
57FMI>ScriptsTask 14Solution.sh
56FMI>ScriptsTask 13Solution 1.sh
Solution 2.sh
55FMI>Shell05-b-9600Solution.sh
54FMI>Shell05-b-9501Solution.sh
53FMI>Shell05-b-9200Solution.sh
52FMI>Shell05-b-9100Solution.sh
51FMI>Shell05-b-8000Solution.sh
50FMI>Shell05-b-7800Solution.sh
49FMI>Shell05-b-7700Solution 1 (awk -v).sh
Solution 2 (-size).sh
48FMI>Shell05-b-7550Solution 1 (one by one - polite).sh
Solution 2 (all at once).sh
47FMI>Shell05-b-7500Solution.sh
46FMI>Shell05-b-7200Solution 1 (find by -size).sh
Solution 2 (awk -v).sh
45FMI>Shell05-b-7100Solution.sh
44FMI>Shell05-b-7000Solution.sh
43FMI>Shell05-b-6800Solution.sh
42FMI>Shell05-b-6600Solution 1 (pipe).sh
Solution 2 (process substitution).sh
41FMI>Shell05-b-5500Solution.sh
40FMI>Shell05-b-4800Solution.sh
39FMI>Shell05-b-4700Solution 1 (for loop).sh
Solution 2 (xargs).sh
Solution 3 (sed).sh
38FMI>Shell05-b-4600Solution.sh
37FMI>Shell05-b-4400Solution.sh
36FMI>Shell05-b-4301Solution.sh
35FMI>Shell05-b-4300Solution.sh
34FMI>Shell05-b-4200Solution 1.sh
Solution 2.sh
Solution 3.sh
33FMI>Shell05-b-3400Solution.sh
32FMI>Shell05-b-3300Solution.sh
31FMI>Shell05-b-3200Solution 1.sh
Solution 2.sh
30FMI>Shell05-b-3100Solution.sh
29FMI>Shell05-b-2800Solution 1 (bashism).sh
Solution 2 (pipe).sh
Solution 3 (process substitution).sh
28FMI>Shell05-b-2000Solution.sh
27FMI>Shell04-b-9000Solution 1.sh
Solution 2.sh
26FMI>Processes04-b-8000Solution.sh
25FMI>Processes04-b-7000Solution.sh
24FMI>Processes04-a-6300Solution.sh
23FMI>Processes04-b-6200Solution.sh
22FMI>Processes04-b-6100Solution.sh
21FMI>Processes04-a-6000Solution.sh
20FMI>Processes04-b-5000Solution.sh
19FMI>Processes04-a-5000Solution.sh
18FMI>ShellDraw PyramidSolution.sh
17FMI>File ProcessingE 12Solution.sh
16FMI>Text ProcessingE 11Solution.sh
15FMI>Text ProcessingE 10Solution.sh
14FMI>File ProcessingE 09Solution.sh
13FMI>File ProcessingE 08Solution.sh
12FMI>Text ProcessingE 07Solution.sh
11FMI>File ProcessingE 06Solution.sh
10FMI>File ProcessingE 05Solution.sh
9FMI>Text ProcessingE 04Solution.sh
8FMI>Text ProcessingE 02Solution.sh
7FMI>Text ProcessingE 01Solution.sh
6FMI>Text ProcessingT_02Solution.sh
5FMI>Text ProcessingT 01Solution.sh
4FMI>Text Processing03-b-7500Solution.sh
3FMI>Text ProcessingT_06Solution.sh
2FMI>Text ProcessingT_05Solution.sh
1FMI>Text ProcessingT_04Solution.sh

Warm up with Hackerrank

NSubdomainChallengePointsSolution
64Text ProcessingSort Command #11Solution.sh
63Text ProcessingSort Command #21Solution.sh
62Text ProcessingSort Command #31Solution.sh
61Text ProcessingSort Command #41Solution 1.sh
Solution 2.sh
60Text ProcessingSort Command #51Solution.sh
59Text ProcessingSort Command #61Solution.sh
58Text ProcessingSort Command #71Solution.sh
57Text Processing'Uniq' Command #11Solution.sh
56Text Processing'Uniq' Command #21Solution 1.sh
Solution 2.sh
55Text Processing'Uniq' Command #31Solution 1.sh
Solution 2.sh
54Text Processing'Uniq' Command #41Solution 1.sh
53Text Processing'Grep' A2Solution 1.sh
Solution 2.sh
52Text Processing'Grep' B2Solution 1.sh
Solution 2.sh
51Text Processing'Grep' #12Solution 1.sh
Solution 2.sh
50Text Processing'Grep' #22Solution.sh
49Text Processing'Grep' #32Solution.sh
48Text Processing'Sed' Command #12Solution 1.sh
Solution 2.sh
47Text Processing'Sed' Command #22Solution.sh
46Text Processing'Sed' Command #32Solution 1.sh
Solution 2.sh
45Text Processing'Sed' Command #42Solution 1.sh
Solution 2.sh
44Text Processing'Sed' Command #52Solution 1.sh
Solution 2.sh
43Text Processing'Awk' #12Solution 1.sh
Solution 2.sh
42Text Processing'Awk' #22Solution 1.sh
Solution 2.sh
41Text Processing'Awk' #32Solution 1.sh
Solution 2.sh
40Text Processing'Awk' #42Solution 1.sh
Solution 2.sh
39Text ProcessingCut #11Solution.sh
38Text ProcessingCut #21Solution.sh
37Text ProcessiingCut #31Solution.sh
36Text ProcessingCut #41Solution 1.sh
Solution 2.sh
35Text ProcessingCut #51Solution 1.sh
Solution 2.sh
34Text ProcessingCut #61Solution.sh
33Text ProcessingCut #71Solution.sh
32Text ProcessingCut #81Solution.sh
31Text ProcessingCut #91Solution.sh
30Text ProcessingPaste #12Solution.sh
29Text ProcessingPaste #22Solution.sh
28Text ProcessingPaste #32Solution.sh
27Text ProcessingPaste #42Solution 1.sh
Solution 2.sh
26Text ProcessingHead of a Text File #12Solution.sh
25Text ProcessingHead of a Text File #21Solution.sh
24Text ProcessingTail of a Text File #12Solution.sh
23Text ProcessingTail of a Text File #22Solution.sh
22Text ProcessingMiddle of a Text File3Solution 1.sh
Solution 2.sh
Solution 3.sh
21Text Processing'Tr' Command #11Solution 1.sh
Solution 2.sh
20Text Processing'Tr' Command #21Solution.sh
19Text Processing'Tr' Command #31Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
18BashLet's Echo1Solution.sh
17BashA Personalized Echo1Solution.sh
16BashLooping with Numbers2Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
15BashThe World of Numbers2Solution 1.sh
Solution 2.sh
14BashLooping and Skipping2Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
13BashComparing Numbers3Solution 1.sh
Solution 2.sh
12BashGetting started with conditionals3Solution 1.sh
Solution 2.sh
11BashMore on Conditionals3Solution.sh
10BashArithmetic Operations3Solution.sh
9BashCompute the Average4Solution.sh
8Arrays in BashFilter an Array with Patterns1Solution 1.sh
Solution 2.sh
7Arrays in BashRead in an Array1Solution 1.sh
Solution 2.sh
6Arrays in BashSlice an Array1Solution 1.sh
Solution 2.sh
5Arrays in BashConcatenate an array with itself1Solution.sh
4Arrays in BashDisplay an element of an array1Solution.sh
3Arrays in BashCount the number of elements in an Array1Solution.sh
2Arrays in BashRemove the First Capital Letter from Each Element1Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
1Arrays in BashLonely Integer - Bash!10Solution 1.sh
Solution 2.sh

About

Systems programming and kernel development, with expertise in Unix-like operating systems, synchronization theory, and C language implementation for Linux environments.

Topics

Resources

Stars

31 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - andy489/Linux_Shell: Systems programming and kernel development, with expertise in Unix-like operating systems, synchronization theory, and C language implementation for Linux environments. · GitHub
Skip to content

Repository files navigation

UNIX/Linux/Bash shell, C

"vi has 2 modes. One that beeps at you, and another that ruins everything."

SubdomainThemeLink
TheoryUnix-like Operating Systems – TheoryTheory (main)
Theory (additional)
The Little Book of Semaphores
FMI>TasksAll tasks included in 2020 FMI longlistLonglist 2020
FMI>Cheat sheetsGood coders code, great coders reuseBash Redirection Cheat Sheets
vi Reference Card
Makefile
FMI>ProjectImage editorcrop [ipoint median_faces rect_faces].sh
crop_all.sh

FMI Tasks

NSubdomainTaskSolution
131FMI>C>ProcessesExam 2020-07-12 Task 2foo.c
bar.c
130FMI>C>ProcessesExam 2020-07-12 Task 1Examples
Solution.c
129FMI>C>ProcessesAdditional Task 2.mdSolution.c
128FMI>C>ProcessesAdditional Task 1.mdSolution.c
127FMI>C>Processescat a.txt / sort / uniq.cSolution 1 (long).c
Solution 2 (short).c
126FMI>C>Processescat passwd.txt / cut -d ':' -f 7 / sort / uniq.cSolution.c
125FMI>C>ProcessesTask P03.cSolution.c
124FMI>C>ProcessesTask P02.cSolution.c
123FMI>C>ProcessesTask P01.cSolution 1.c
Solution 2.c
121FMI>C>ProcessesTask 13.cSolution 1.c
Solution 2.c
120FMI>C>ProcessesTask 12.cSolution.c
119FMI>C>ProcessesTask 11.cSolution.c
118FMI>C>ProcessesTask 10.cSolution.c
117FMI>C>ProcessesTask 09.cSolution.c
116FMI>C>ProcessesTask 08.cSolution 1.c
Solution 2(more precise).c
115FMI>C>ProcessesTask 07.cSolution.c
114FMI>C>ProcessesTask 06.cSolution.c
113FMI>C>ProcessesTask 05.cSolution.c
112FMI>C>ProcessesTask 04.cSolution.c
111FMI>C>ProcessesTask 03.cSolution.c
110FMI>C>ProcessesTask 02.cSolution.c
109FMI>C>ProcessesTask 01.cSolution.c
108FMI>C>ProcessesTask 48Solution 1.c
Solution 2.c
test cmd for 2nd sol.sh
107FMI>C>ProcessesTask 47Solution.c
106FMI>C>ProcessesTask 46Solution.c
105FMI>C>ProcessesTask 45Solution.c
104FMI>C>ProcessesPrompt with arguments.mdSolution 1.c
Solution 2.c
103FMI>C>ProcessesTask 44Solution 1.c
Solution 2.c
102FMI>C>ProcessesTask 43Solution.c
101FMI>C>Processesclassic deadlock exampledeadlock.c
100FMI>C>Processesfork-loopfork-loop.c
99FMI>C>Read/Write41. sort max 65535 uint16_t elementsSolution 1 (counting sort).c
Solution 2 (heapsort).c
98FMI>C>Read/Write40. cutSolution.c
97FMI>C>Read/Write39. equivalent to 33Solution (qsort + merge).c
96FMI>C>Read/Write38. tr [OPTION] SET1 [SET2]Solution 1.c
Solution 2 (strchr, strrchr).c
Solution 3 (goto).c
95FMI>C>Read/Write37. <patch.bin> <f1.bin> <f2.bin>Solution.c
94FMI>C>Read/Write36. cat with argsSolution 1.c
Solution 2 (more precise).c
93FMI>C>Read/Write35. <f1.bin> <f2.bin> <patch.bin>Solution 1.c
Solution 2.c
92FMI>C>Read/Write34. <f1.dat> <f1.idx> <f2.dat> <f2.idx>Solution 1.c
Solution 2.c
91FMI>C>Read/Write33. sort big binary fileSolution (qsort + merge).c
90FMI>C>Read/Write32. pairs extract from fileSolution 1.c
Solution 2.c
89FMI>C>Read/Write31. sort file.bin inplaceSolution.c
88FMI>C>Read/Writeoverflow testing with counting sortSolution.c
87FMI>Cmemory managementstruct padding.c
86FMI>C>Read/Write11. counting sortSolution 1 (<file.bin> <sorted.bin>).c
Solution 2 (inplace).c
85FMI>C>Read/Write10. [--print --min --max] binfileSolution.c
84FMI>C>Read/Write09. passwd with '?' separatorSolution.c
83FMI>C>Read/Write08. cp with multiple argsSolution 1.c
Solution 2.c
Solution 3.c
82FMI>C>Read/Write07. cat with multiple argsSolution.c
81FMI>C>Read/Write06. cp with 2 argsSolution.c
80FMI>C>Read/Write05. sort binary fileSolution.c
79FMI>C>Read/Write04. wcSolution.c
78FMI>C>Read/Write03. head without optionsSolution.c
77FMI>C>Read/Write02. swap filesSolution 1 (read and write).c
Solution 2 (renameat2).c
76FMI>C>Read/Write01. appendSolution 1 (O_APPEND).c
Solution 2 (lseek).c
75FMI>C>Read/Writepaste with 2 files.mdSolution.c
74FMI>ScriptsLonget Filename SearchSolution.sh
73FMI>Scripts./chfextSolution.sh
72FMI>ScriptsTask 29Solution.sh
71FMI>ScriptsTask 28Solution (A) cycle.sh
Solution 1 (B) extract last digit.sh
Solution 2 (B) smart sed + bc.sh
70FMI>ScriptsTask 27Solution 1 (sorted).sh
Solution 2 (input order).sh
69FMI>ScriptsTask 26Solution.sh
68FMI>ScriptsTask 25Solution.sh
67FMI>ScriptsTask 23Solution 1 (sort -V).sh
Solution 2 (multiple fields sort).sh
66FMI>ScriptsTask 24Solution.sh
65FMI>ScriptsTask 22Solution.sh
64FMI>ScriptsTask 21Solution.sh
63FMI>ScriptsTask 20Solution.sh
62FMI>ScriptsTask 19Solution.sh
61FMI>ScriptsTask 18Solution.sh
60FMI>ScriptsTask 17Solution.sh
59FMI>ScriptsTask 16Solution 1.sh
Solution 2.sh
58FMI>ScriptsTask 15Solution.sh
57FMI>ScriptsTask 14Solution.sh
56FMI>ScriptsTask 13Solution 1.sh
Solution 2.sh
55FMI>Shell05-b-9600Solution.sh
54FMI>Shell05-b-9501Solution.sh
53FMI>Shell05-b-9200Solution.sh
52FMI>Shell05-b-9100Solution.sh
51FMI>Shell05-b-8000Solution.sh
50FMI>Shell05-b-7800Solution.sh
49FMI>Shell05-b-7700Solution 1 (awk -v).sh
Solution 2 (-size).sh
48FMI>Shell05-b-7550Solution 1 (one by one - polite).sh
Solution 2 (all at once).sh
47FMI>Shell05-b-7500Solution.sh
46FMI>Shell05-b-7200Solution 1 (find by -size).sh
Solution 2 (awk -v).sh
45FMI>Shell05-b-7100Solution.sh
44FMI>Shell05-b-7000Solution.sh
43FMI>Shell05-b-6800Solution.sh
42FMI>Shell05-b-6600Solution 1 (pipe).sh
Solution 2 (process substitution).sh
41FMI>Shell05-b-5500Solution.sh
40FMI>Shell05-b-4800Solution.sh
39FMI>Shell05-b-4700Solution 1 (for loop).sh
Solution 2 (xargs).sh
Solution 3 (sed).sh
38FMI>Shell05-b-4600Solution.sh
37FMI>Shell05-b-4400Solution.sh
36FMI>Shell05-b-4301Solution.sh
35FMI>Shell05-b-4300Solution.sh
34FMI>Shell05-b-4200Solution 1.sh
Solution 2.sh
Solution 3.sh
33FMI>Shell05-b-3400Solution.sh
32FMI>Shell05-b-3300Solution.sh
31FMI>Shell05-b-3200Solution 1.sh
Solution 2.sh
30FMI>Shell05-b-3100Solution.sh
29FMI>Shell05-b-2800Solution 1 (bashism).sh
Solution 2 (pipe).sh
Solution 3 (process substitution).sh
28FMI>Shell05-b-2000Solution.sh
27FMI>Shell04-b-9000Solution 1.sh
Solution 2.sh
26FMI>Processes04-b-8000Solution.sh
25FMI>Processes04-b-7000Solution.sh
24FMI>Processes04-a-6300Solution.sh
23FMI>Processes04-b-6200Solution.sh
22FMI>Processes04-b-6100Solution.sh
21FMI>Processes04-a-6000Solution.sh
20FMI>Processes04-b-5000Solution.sh
19FMI>Processes04-a-5000Solution.sh
18FMI>ShellDraw PyramidSolution.sh
17FMI>File ProcessingE 12Solution.sh
16FMI>Text ProcessingE 11Solution.sh
15FMI>Text ProcessingE 10Solution.sh
14FMI>File ProcessingE 09Solution.sh
13FMI>File ProcessingE 08Solution.sh
12FMI>Text ProcessingE 07Solution.sh
11FMI>File ProcessingE 06Solution.sh
10FMI>File ProcessingE 05Solution.sh
9FMI>Text ProcessingE 04Solution.sh
8FMI>Text ProcessingE 02Solution.sh
7FMI>Text ProcessingE 01Solution.sh
6FMI>Text ProcessingT_02Solution.sh
5FMI>Text ProcessingT 01Solution.sh
4FMI>Text Processing03-b-7500Solution.sh
3FMI>Text ProcessingT_06Solution.sh
2FMI>Text ProcessingT_05Solution.sh
1FMI>Text ProcessingT_04Solution.sh

Warm up with Hackerrank

NSubdomainChallengePointsSolution
64Text ProcessingSort Command #11Solution.sh
63Text ProcessingSort Command #21Solution.sh
62Text ProcessingSort Command #31Solution.sh
61Text ProcessingSort Command #41Solution 1.sh
Solution 2.sh
60Text ProcessingSort Command #51Solution.sh
59Text ProcessingSort Command #61Solution.sh
58Text ProcessingSort Command #71Solution.sh
57Text Processing'Uniq' Command #11Solution.sh
56Text Processing'Uniq' Command #21Solution 1.sh
Solution 2.sh
55Text Processing'Uniq' Command #31Solution 1.sh
Solution 2.sh
54Text Processing'Uniq' Command #41Solution 1.sh
53Text Processing'Grep' A2Solution 1.sh
Solution 2.sh
52Text Processing'Grep' B2Solution 1.sh
Solution 2.sh
51Text Processing'Grep' #12Solution 1.sh
Solution 2.sh
50Text Processing'Grep' #22Solution.sh
49Text Processing'Grep' #32Solution.sh
48Text Processing'Sed' Command #12Solution 1.sh
Solution 2.sh
47Text Processing'Sed' Command #22Solution.sh
46Text Processing'Sed' Command #32Solution 1.sh
Solution 2.sh
45Text Processing'Sed' Command #42Solution 1.sh
Solution 2.sh
44Text Processing'Sed' Command #52Solution 1.sh
Solution 2.sh
43Text Processing'Awk' #12Solution 1.sh
Solution 2.sh
42Text Processing'Awk' #22Solution 1.sh
Solution 2.sh
41Text Processing'Awk' #32Solution 1.sh
Solution 2.sh
40Text Processing'Awk' #42Solution 1.sh
Solution 2.sh
39Text ProcessingCut #11Solution.sh
38Text ProcessingCut #21Solution.sh
37Text ProcessiingCut #31Solution.sh
36Text ProcessingCut #41Solution 1.sh
Solution 2.sh
35Text ProcessingCut #51Solution 1.sh
Solution 2.sh
34Text ProcessingCut #61Solution.sh
33Text ProcessingCut #71Solution.sh
32Text ProcessingCut #81Solution.sh
31Text ProcessingCut #91Solution.sh
30Text ProcessingPaste #12Solution.sh
29Text ProcessingPaste #22Solution.sh
28Text ProcessingPaste #32Solution.sh
27Text ProcessingPaste #42Solution 1.sh
Solution 2.sh
26Text ProcessingHead of a Text File #12Solution.sh
25Text ProcessingHead of a Text File #21Solution.sh
24Text ProcessingTail of a Text File #12Solution.sh
23Text ProcessingTail of a Text File #22Solution.sh
22Text ProcessingMiddle of a Text File3Solution 1.sh
Solution 2.sh
Solution 3.sh
21Text Processing'Tr' Command #11Solution 1.sh
Solution 2.sh
20Text Processing'Tr' Command #21Solution.sh
19Text Processing'Tr' Command #31Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
18BashLet's Echo1Solution.sh
17BashA Personalized Echo1Solution.sh
16BashLooping with Numbers2Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
15BashThe World of Numbers2Solution 1.sh
Solution 2.sh
14BashLooping and Skipping2Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
13BashComparing Numbers3Solution 1.sh
Solution 2.sh
12BashGetting started with conditionals3Solution 1.sh
Solution 2.sh
11BashMore on Conditionals3Solution.sh
10BashArithmetic Operations3Solution.sh
9BashCompute the Average4Solution.sh
8Arrays in BashFilter an Array with Patterns1Solution 1.sh
Solution 2.sh
7Arrays in BashRead in an Array1Solution 1.sh
Solution 2.sh
6Arrays in BashSlice an Array1Solution 1.sh
Solution 2.sh
5Arrays in BashConcatenate an array with itself1Solution.sh
4Arrays in BashDisplay an element of an array1Solution.sh
3Arrays in BashCount the number of elements in an Array1Solution.sh
2Arrays in BashRemove the First Capital Letter from Each Element1Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
1Arrays in BashLonely Integer - Bash!10Solution 1.sh
Solution 2.sh

About

Systems programming and kernel development, with expertise in Unix-like operating systems, synchronization theory, and C language implementation for Linux environments.

Topics

Resources

Stars

31 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - andy489/Linux_Shell: Systems programming and kernel development, with expertise in Unix-like operating systems, synchronization theory, and C language implementation for Linux environments. · GitHub
Skip to content

Repository files navigation

UNIX/Linux/Bash shell, C

"vi has 2 modes. One that beeps at you, and another that ruins everything."

SubdomainThemeLink
TheoryUnix-like Operating Systems – TheoryTheory (main)
Theory (additional)
The Little Book of Semaphores
FMI>TasksAll tasks included in 2020 FMI longlistLonglist 2020
FMI>Cheat sheetsGood coders code, great coders reuseBash Redirection Cheat Sheets
vi Reference Card
Makefile
FMI>ProjectImage editorcrop [ipoint median_faces rect_faces].sh
crop_all.sh

FMI Tasks

NSubdomainTaskSolution
131FMI>C>ProcessesExam 2020-07-12 Task 2foo.c
bar.c
130FMI>C>ProcessesExam 2020-07-12 Task 1Examples
Solution.c
129FMI>C>ProcessesAdditional Task 2.mdSolution.c
128FMI>C>ProcessesAdditional Task 1.mdSolution.c
127FMI>C>Processescat a.txt / sort / uniq.cSolution 1 (long).c
Solution 2 (short).c
126FMI>C>Processescat passwd.txt / cut -d ':' -f 7 / sort / uniq.cSolution.c
125FMI>C>ProcessesTask P03.cSolution.c
124FMI>C>ProcessesTask P02.cSolution.c
123FMI>C>ProcessesTask P01.cSolution 1.c
Solution 2.c
121FMI>C>ProcessesTask 13.cSolution 1.c
Solution 2.c
120FMI>C>ProcessesTask 12.cSolution.c
119FMI>C>ProcessesTask 11.cSolution.c
118FMI>C>ProcessesTask 10.cSolution.c
117FMI>C>ProcessesTask 09.cSolution.c
116FMI>C>ProcessesTask 08.cSolution 1.c
Solution 2(more precise).c
115FMI>C>ProcessesTask 07.cSolution.c
114FMI>C>ProcessesTask 06.cSolution.c
113FMI>C>ProcessesTask 05.cSolution.c
112FMI>C>ProcessesTask 04.cSolution.c
111FMI>C>ProcessesTask 03.cSolution.c
110FMI>C>ProcessesTask 02.cSolution.c
109FMI>C>ProcessesTask 01.cSolution.c
108FMI>C>ProcessesTask 48Solution 1.c
Solution 2.c
test cmd for 2nd sol.sh
107FMI>C>ProcessesTask 47Solution.c
106FMI>C>ProcessesTask 46Solution.c
105FMI>C>ProcessesTask 45Solution.c
104FMI>C>ProcessesPrompt with arguments.mdSolution 1.c
Solution 2.c
103FMI>C>ProcessesTask 44Solution 1.c
Solution 2.c
102FMI>C>ProcessesTask 43Solution.c
101FMI>C>Processesclassic deadlock exampledeadlock.c
100FMI>C>Processesfork-loopfork-loop.c
99FMI>C>Read/Write41. sort max 65535 uint16_t elementsSolution 1 (counting sort).c
Solution 2 (heapsort).c
98FMI>C>Read/Write40. cutSolution.c
97FMI>C>Read/Write39. equivalent to 33Solution (qsort + merge).c
96FMI>C>Read/Write38. tr [OPTION] SET1 [SET2]Solution 1.c
Solution 2 (strchr, strrchr).c
Solution 3 (goto).c
95FMI>C>Read/Write37. <patch.bin> <f1.bin> <f2.bin>Solution.c
94FMI>C>Read/Write36. cat with argsSolution 1.c
Solution 2 (more precise).c
93FMI>C>Read/Write35. <f1.bin> <f2.bin> <patch.bin>Solution 1.c
Solution 2.c
92FMI>C>Read/Write34. <f1.dat> <f1.idx> <f2.dat> <f2.idx>Solution 1.c
Solution 2.c
91FMI>C>Read/Write33. sort big binary fileSolution (qsort + merge).c
90FMI>C>Read/Write32. pairs extract from fileSolution 1.c
Solution 2.c
89FMI>C>Read/Write31. sort file.bin inplaceSolution.c
88FMI>C>Read/Writeoverflow testing with counting sortSolution.c
87FMI>Cmemory managementstruct padding.c
86FMI>C>Read/Write11. counting sortSolution 1 (<file.bin> <sorted.bin>).c
Solution 2 (inplace).c
85FMI>C>Read/Write10. [--print --min --max] binfileSolution.c
84FMI>C>Read/Write09. passwd with '?' separatorSolution.c
83FMI>C>Read/Write08. cp with multiple argsSolution 1.c
Solution 2.c
Solution 3.c
82FMI>C>Read/Write07. cat with multiple argsSolution.c
81FMI>C>Read/Write06. cp with 2 argsSolution.c
80FMI>C>Read/Write05. sort binary fileSolution.c
79FMI>C>Read/Write04. wcSolution.c
78FMI>C>Read/Write03. head without optionsSolution.c
77FMI>C>Read/Write02. swap filesSolution 1 (read and write).c
Solution 2 (renameat2).c
76FMI>C>Read/Write01. appendSolution 1 (O_APPEND).c
Solution 2 (lseek).c
75FMI>C>Read/Writepaste with 2 files.mdSolution.c
74FMI>ScriptsLonget Filename SearchSolution.sh
73FMI>Scripts./chfextSolution.sh
72FMI>ScriptsTask 29Solution.sh
71FMI>ScriptsTask 28Solution (A) cycle.sh
Solution 1 (B) extract last digit.sh
Solution 2 (B) smart sed + bc.sh
70FMI>ScriptsTask 27Solution 1 (sorted).sh
Solution 2 (input order).sh
69FMI>ScriptsTask 26Solution.sh
68FMI>ScriptsTask 25Solution.sh
67FMI>ScriptsTask 23Solution 1 (sort -V).sh
Solution 2 (multiple fields sort).sh
66FMI>ScriptsTask 24Solution.sh
65FMI>ScriptsTask 22Solution.sh
64FMI>ScriptsTask 21Solution.sh
63FMI>ScriptsTask 20Solution.sh
62FMI>ScriptsTask 19Solution.sh
61FMI>ScriptsTask 18Solution.sh
60FMI>ScriptsTask 17Solution.sh
59FMI>ScriptsTask 16Solution 1.sh
Solution 2.sh
58FMI>ScriptsTask 15Solution.sh
57FMI>ScriptsTask 14Solution.sh
56FMI>ScriptsTask 13Solution 1.sh
Solution 2.sh
55FMI>Shell05-b-9600Solution.sh
54FMI>Shell05-b-9501Solution.sh
53FMI>Shell05-b-9200Solution.sh
52FMI>Shell05-b-9100Solution.sh
51FMI>Shell05-b-8000Solution.sh
50FMI>Shell05-b-7800Solution.sh
49FMI>Shell05-b-7700Solution 1 (awk -v).sh
Solution 2 (-size).sh
48FMI>Shell05-b-7550Solution 1 (one by one - polite).sh
Solution 2 (all at once).sh
47FMI>Shell05-b-7500Solution.sh
46FMI>Shell05-b-7200Solution 1 (find by -size).sh
Solution 2 (awk -v).sh
45FMI>Shell05-b-7100Solution.sh
44FMI>Shell05-b-7000Solution.sh
43FMI>Shell05-b-6800Solution.sh
42FMI>Shell05-b-6600Solution 1 (pipe).sh
Solution 2 (process substitution).sh
41FMI>Shell05-b-5500Solution.sh
40FMI>Shell05-b-4800Solution.sh
39FMI>Shell05-b-4700Solution 1 (for loop).sh
Solution 2 (xargs).sh
Solution 3 (sed).sh
38FMI>Shell05-b-4600Solution.sh
37FMI>Shell05-b-4400Solution.sh
36FMI>Shell05-b-4301Solution.sh
35FMI>Shell05-b-4300Solution.sh
34FMI>Shell05-b-4200Solution 1.sh
Solution 2.sh
Solution 3.sh
33FMI>Shell05-b-3400Solution.sh
32FMI>Shell05-b-3300Solution.sh
31FMI>Shell05-b-3200Solution 1.sh
Solution 2.sh
30FMI>Shell05-b-3100Solution.sh
29FMI>Shell05-b-2800Solution 1 (bashism).sh
Solution 2 (pipe).sh
Solution 3 (process substitution).sh
28FMI>Shell05-b-2000Solution.sh
27FMI>Shell04-b-9000Solution 1.sh
Solution 2.sh
26FMI>Processes04-b-8000Solution.sh
25FMI>Processes04-b-7000Solution.sh
24FMI>Processes04-a-6300Solution.sh
23FMI>Processes04-b-6200Solution.sh
22FMI>Processes04-b-6100Solution.sh
21FMI>Processes04-a-6000Solution.sh
20FMI>Processes04-b-5000Solution.sh
19FMI>Processes04-a-5000Solution.sh
18FMI>ShellDraw PyramidSolution.sh
17FMI>File ProcessingE 12Solution.sh
16FMI>Text ProcessingE 11Solution.sh
15FMI>Text ProcessingE 10Solution.sh
14FMI>File ProcessingE 09Solution.sh
13FMI>File ProcessingE 08Solution.sh
12FMI>Text ProcessingE 07Solution.sh
11FMI>File ProcessingE 06Solution.sh
10FMI>File ProcessingE 05Solution.sh
9FMI>Text ProcessingE 04Solution.sh
8FMI>Text ProcessingE 02Solution.sh
7FMI>Text ProcessingE 01Solution.sh
6FMI>Text ProcessingT_02Solution.sh
5FMI>Text ProcessingT 01Solution.sh
4FMI>Text Processing03-b-7500Solution.sh
3FMI>Text ProcessingT_06Solution.sh
2FMI>Text ProcessingT_05Solution.sh
1FMI>Text ProcessingT_04Solution.sh

Warm up with Hackerrank

NSubdomainChallengePointsSolution
64Text ProcessingSort Command #11Solution.sh
63Text ProcessingSort Command #21Solution.sh
62Text ProcessingSort Command #31Solution.sh
61Text ProcessingSort Command #41Solution 1.sh
Solution 2.sh
60Text ProcessingSort Command #51Solution.sh
59Text ProcessingSort Command #61Solution.sh
58Text ProcessingSort Command #71Solution.sh
57Text Processing'Uniq' Command #11Solution.sh
56Text Processing'Uniq' Command #21Solution 1.sh
Solution 2.sh
55Text Processing'Uniq' Command #31Solution 1.sh
Solution 2.sh
54Text Processing'Uniq' Command #41Solution 1.sh
53Text Processing'Grep' A2Solution 1.sh
Solution 2.sh
52Text Processing'Grep' B2Solution 1.sh
Solution 2.sh
51Text Processing'Grep' #12Solution 1.sh
Solution 2.sh
50Text Processing'Grep' #22Solution.sh
49Text Processing'Grep' #32Solution.sh
48Text Processing'Sed' Command #12Solution 1.sh
Solution 2.sh
47Text Processing'Sed' Command #22Solution.sh
46Text Processing'Sed' Command #32Solution 1.sh
Solution 2.sh
45Text Processing'Sed' Command #42Solution 1.sh
Solution 2.sh
44Text Processing'Sed' Command #52Solution 1.sh
Solution 2.sh
43Text Processing'Awk' #12Solution 1.sh
Solution 2.sh
42Text Processing'Awk' #22Solution 1.sh
Solution 2.sh
41Text Processing'Awk' #32Solution 1.sh
Solution 2.sh
40Text Processing'Awk' #42Solution 1.sh
Solution 2.sh
39Text ProcessingCut #11Solution.sh
38Text ProcessingCut #21Solution.sh
37Text ProcessiingCut #31Solution.sh
36Text ProcessingCut #41Solution 1.sh
Solution 2.sh
35Text ProcessingCut #51Solution 1.sh
Solution 2.sh
34Text ProcessingCut #61Solution.sh
33Text ProcessingCut #71Solution.sh
32Text ProcessingCut #81Solution.sh
31Text ProcessingCut #91Solution.sh
30Text ProcessingPaste #12Solution.sh
29Text ProcessingPaste #22Solution.sh
28Text ProcessingPaste #32Solution.sh
27Text ProcessingPaste #42Solution 1.sh
Solution 2.sh
26Text ProcessingHead of a Text File #12Solution.sh
25Text ProcessingHead of a Text File #21Solution.sh
24Text ProcessingTail of a Text File #12Solution.sh
23Text ProcessingTail of a Text File #22Solution.sh
22Text ProcessingMiddle of a Text File3Solution 1.sh
Solution 2.sh
Solution 3.sh
21Text Processing'Tr' Command #11Solution 1.sh
Solution 2.sh
20Text Processing'Tr' Command #21Solution.sh
19Text Processing'Tr' Command #31Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
18BashLet's Echo1Solution.sh
17BashA Personalized Echo1Solution.sh
16BashLooping with Numbers2Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
15BashThe World of Numbers2Solution 1.sh
Solution 2.sh
14BashLooping and Skipping2Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
13BashComparing Numbers3Solution 1.sh
Solution 2.sh
12BashGetting started with conditionals3Solution 1.sh
Solution 2.sh
11BashMore on Conditionals3Solution.sh
10BashArithmetic Operations3Solution.sh
9BashCompute the Average4Solution.sh
8Arrays in BashFilter an Array with Patterns1Solution 1.sh
Solution 2.sh
7Arrays in BashRead in an Array1Solution 1.sh
Solution 2.sh
6Arrays in BashSlice an Array1Solution 1.sh
Solution 2.sh
5Arrays in BashConcatenate an array with itself1Solution.sh
4Arrays in BashDisplay an element of an array1Solution.sh
3Arrays in BashCount the number of elements in an Array1Solution.sh
2Arrays in BashRemove the First Capital Letter from Each Element1Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
1Arrays in BashLonely Integer - Bash!10Solution 1.sh
Solution 2.sh

About

Systems programming and kernel development, with expertise in Unix-like operating systems, synchronization theory, and C language implementation for Linux environments.

Topics

Resources

Stars

31 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - andy489/Linux_Shell: Systems programming and kernel development, with expertise in Unix-like operating systems, synchronization theory, and C language implementation for Linux environments. · GitHub
Skip to content

Repository files navigation

UNIX/Linux/Bash shell, C

"vi has 2 modes. One that beeps at you, and another that ruins everything."

SubdomainThemeLink
TheoryUnix-like Operating Systems – TheoryTheory (main)
Theory (additional)
The Little Book of Semaphores
FMI>TasksAll tasks included in 2020 FMI longlistLonglist 2020
FMI>Cheat sheetsGood coders code, great coders reuseBash Redirection Cheat Sheets
vi Reference Card
Makefile
FMI>ProjectImage editorcrop [ipoint median_faces rect_faces].sh
crop_all.sh

FMI Tasks

NSubdomainTaskSolution
131FMI>C>ProcessesExam 2020-07-12 Task 2foo.c
bar.c
130FMI>C>ProcessesExam 2020-07-12 Task 1Examples
Solution.c
129FMI>C>ProcessesAdditional Task 2.mdSolution.c
128FMI>C>ProcessesAdditional Task 1.mdSolution.c
127FMI>C>Processescat a.txt / sort / uniq.cSolution 1 (long).c
Solution 2 (short).c
126FMI>C>Processescat passwd.txt / cut -d ':' -f 7 / sort / uniq.cSolution.c
125FMI>C>ProcessesTask P03.cSolution.c
124FMI>C>ProcessesTask P02.cSolution.c
123FMI>C>ProcessesTask P01.cSolution 1.c
Solution 2.c
121FMI>C>ProcessesTask 13.cSolution 1.c
Solution 2.c
120FMI>C>ProcessesTask 12.cSolution.c
119FMI>C>ProcessesTask 11.cSolution.c
118FMI>C>ProcessesTask 10.cSolution.c
117FMI>C>ProcessesTask 09.cSolution.c
116FMI>C>ProcessesTask 08.cSolution 1.c
Solution 2(more precise).c
115FMI>C>ProcessesTask 07.cSolution.c
114FMI>C>ProcessesTask 06.cSolution.c
113FMI>C>ProcessesTask 05.cSolution.c
112FMI>C>ProcessesTask 04.cSolution.c
111FMI>C>ProcessesTask 03.cSolution.c
110FMI>C>ProcessesTask 02.cSolution.c
109FMI>C>ProcessesTask 01.cSolution.c
108FMI>C>ProcessesTask 48Solution 1.c
Solution 2.c
test cmd for 2nd sol.sh
107FMI>C>ProcessesTask 47Solution.c
106FMI>C>ProcessesTask 46Solution.c
105FMI>C>ProcessesTask 45Solution.c
104FMI>C>ProcessesPrompt with arguments.mdSolution 1.c
Solution 2.c
103FMI>C>ProcessesTask 44Solution 1.c
Solution 2.c
102FMI>C>ProcessesTask 43Solution.c
101FMI>C>Processesclassic deadlock exampledeadlock.c
100FMI>C>Processesfork-loopfork-loop.c
99FMI>C>Read/Write41. sort max 65535 uint16_t elementsSolution 1 (counting sort).c
Solution 2 (heapsort).c
98FMI>C>Read/Write40. cutSolution.c
97FMI>C>Read/Write39. equivalent to 33Solution (qsort + merge).c
96FMI>C>Read/Write38. tr [OPTION] SET1 [SET2]Solution 1.c
Solution 2 (strchr, strrchr).c
Solution 3 (goto).c
95FMI>C>Read/Write37. <patch.bin> <f1.bin> <f2.bin>Solution.c
94FMI>C>Read/Write36. cat with argsSolution 1.c
Solution 2 (more precise).c
93FMI>C>Read/Write35. <f1.bin> <f2.bin> <patch.bin>Solution 1.c
Solution 2.c
92FMI>C>Read/Write34. <f1.dat> <f1.idx> <f2.dat> <f2.idx>Solution 1.c
Solution 2.c
91FMI>C>Read/Write33. sort big binary fileSolution (qsort + merge).c
90FMI>C>Read/Write32. pairs extract from fileSolution 1.c
Solution 2.c
89FMI>C>Read/Write31. sort file.bin inplaceSolution.c
88FMI>C>Read/Writeoverflow testing with counting sortSolution.c
87FMI>Cmemory managementstruct padding.c
86FMI>C>Read/Write11. counting sortSolution 1 (<file.bin> <sorted.bin>).c
Solution 2 (inplace).c
85FMI>C>Read/Write10. [--print --min --max] binfileSolution.c
84FMI>C>Read/Write09. passwd with '?' separatorSolution.c
83FMI>C>Read/Write08. cp with multiple argsSolution 1.c
Solution 2.c
Solution 3.c
82FMI>C>Read/Write07. cat with multiple argsSolution.c
81FMI>C>Read/Write06. cp with 2 argsSolution.c
80FMI>C>Read/Write05. sort binary fileSolution.c
79FMI>C>Read/Write04. wcSolution.c
78FMI>C>Read/Write03. head without optionsSolution.c
77FMI>C>Read/Write02. swap filesSolution 1 (read and write).c
Solution 2 (renameat2).c
76FMI>C>Read/Write01. appendSolution 1 (O_APPEND).c
Solution 2 (lseek).c
75FMI>C>Read/Writepaste with 2 files.mdSolution.c
74FMI>ScriptsLonget Filename SearchSolution.sh
73FMI>Scripts./chfextSolution.sh
72FMI>ScriptsTask 29Solution.sh
71FMI>ScriptsTask 28Solution (A) cycle.sh
Solution 1 (B) extract last digit.sh
Solution 2 (B) smart sed + bc.sh
70FMI>ScriptsTask 27Solution 1 (sorted).sh
Solution 2 (input order).sh
69FMI>ScriptsTask 26Solution.sh
68FMI>ScriptsTask 25Solution.sh
67FMI>ScriptsTask 23Solution 1 (sort -V).sh
Solution 2 (multiple fields sort).sh
66FMI>ScriptsTask 24Solution.sh
65FMI>ScriptsTask 22Solution.sh
64FMI>ScriptsTask 21Solution.sh
63FMI>ScriptsTask 20Solution.sh
62FMI>ScriptsTask 19Solution.sh
61FMI>ScriptsTask 18Solution.sh
60FMI>ScriptsTask 17Solution.sh
59FMI>ScriptsTask 16Solution 1.sh
Solution 2.sh
58FMI>ScriptsTask 15Solution.sh
57FMI>ScriptsTask 14Solution.sh
56FMI>ScriptsTask 13Solution 1.sh
Solution 2.sh
55FMI>Shell05-b-9600Solution.sh
54FMI>Shell05-b-9501Solution.sh
53FMI>Shell05-b-9200Solution.sh
52FMI>Shell05-b-9100Solution.sh
51FMI>Shell05-b-8000Solution.sh
50FMI>Shell05-b-7800Solution.sh
49FMI>Shell05-b-7700Solution 1 (awk -v).sh
Solution 2 (-size).sh
48FMI>Shell05-b-7550Solution 1 (one by one - polite).sh
Solution 2 (all at once).sh
47FMI>Shell05-b-7500Solution.sh
46FMI>Shell05-b-7200Solution 1 (find by -size).sh
Solution 2 (awk -v).sh
45FMI>Shell05-b-7100Solution.sh
44FMI>Shell05-b-7000Solution.sh
43FMI>Shell05-b-6800Solution.sh
42FMI>Shell05-b-6600Solution 1 (pipe).sh
Solution 2 (process substitution).sh
41FMI>Shell05-b-5500Solution.sh
40FMI>Shell05-b-4800Solution.sh
39FMI>Shell05-b-4700Solution 1 (for loop).sh
Solution 2 (xargs).sh
Solution 3 (sed).sh
38FMI>Shell05-b-4600Solution.sh
37FMI>Shell05-b-4400Solution.sh
36FMI>Shell05-b-4301Solution.sh
35FMI>Shell05-b-4300Solution.sh
34FMI>Shell05-b-4200Solution 1.sh
Solution 2.sh
Solution 3.sh
33FMI>Shell05-b-3400Solution.sh
32FMI>Shell05-b-3300Solution.sh
31FMI>Shell05-b-3200Solution 1.sh
Solution 2.sh
30FMI>Shell05-b-3100Solution.sh
29FMI>Shell05-b-2800Solution 1 (bashism).sh
Solution 2 (pipe).sh
Solution 3 (process substitution).sh
28FMI>Shell05-b-2000Solution.sh
27FMI>Shell04-b-9000Solution 1.sh
Solution 2.sh
26FMI>Processes04-b-8000Solution.sh
25FMI>Processes04-b-7000Solution.sh
24FMI>Processes04-a-6300Solution.sh
23FMI>Processes04-b-6200Solution.sh
22FMI>Processes04-b-6100Solution.sh
21FMI>Processes04-a-6000Solution.sh
20FMI>Processes04-b-5000Solution.sh
19FMI>Processes04-a-5000Solution.sh
18FMI>ShellDraw PyramidSolution.sh
17FMI>File ProcessingE 12Solution.sh
16FMI>Text ProcessingE 11Solution.sh
15FMI>Text ProcessingE 10Solution.sh
14FMI>File ProcessingE 09Solution.sh
13FMI>File ProcessingE 08Solution.sh
12FMI>Text ProcessingE 07Solution.sh
11FMI>File ProcessingE 06Solution.sh
10FMI>File ProcessingE 05Solution.sh
9FMI>Text ProcessingE 04Solution.sh
8FMI>Text ProcessingE 02Solution.sh
7FMI>Text ProcessingE 01Solution.sh
6FMI>Text ProcessingT_02Solution.sh
5FMI>Text ProcessingT 01Solution.sh
4FMI>Text Processing03-b-7500Solution.sh
3FMI>Text ProcessingT_06Solution.sh
2FMI>Text ProcessingT_05Solution.sh
1FMI>Text ProcessingT_04Solution.sh

Warm up with Hackerrank

NSubdomainChallengePointsSolution
64Text ProcessingSort Command #11Solution.sh
63Text ProcessingSort Command #21Solution.sh
62Text ProcessingSort Command #31Solution.sh
61Text ProcessingSort Command #41Solution 1.sh
Solution 2.sh
60Text ProcessingSort Command #51Solution.sh
59Text ProcessingSort Command #61Solution.sh
58Text ProcessingSort Command #71Solution.sh
57Text Processing'Uniq' Command #11Solution.sh
56Text Processing'Uniq' Command #21Solution 1.sh
Solution 2.sh
55Text Processing'Uniq' Command #31Solution 1.sh
Solution 2.sh
54Text Processing'Uniq' Command #41Solution 1.sh
53Text Processing'Grep' A2Solution 1.sh
Solution 2.sh
52Text Processing'Grep' B2Solution 1.sh
Solution 2.sh
51Text Processing'Grep' #12Solution 1.sh
Solution 2.sh
50Text Processing'Grep' #22Solution.sh
49Text Processing'Grep' #32Solution.sh
48Text Processing'Sed' Command #12Solution 1.sh
Solution 2.sh
47Text Processing'Sed' Command #22Solution.sh
46Text Processing'Sed' Command #32Solution 1.sh
Solution 2.sh
45Text Processing'Sed' Command #42Solution 1.sh
Solution 2.sh
44Text Processing'Sed' Command #52Solution 1.sh
Solution 2.sh
43Text Processing'Awk' #12Solution 1.sh
Solution 2.sh
42Text Processing'Awk' #22Solution 1.sh
Solution 2.sh
41Text Processing'Awk' #32Solution 1.sh
Solution 2.sh
40Text Processing'Awk' #42Solution 1.sh
Solution 2.sh
39Text ProcessingCut #11Solution.sh
38Text ProcessingCut #21Solution.sh
37Text ProcessiingCut #31Solution.sh
36Text ProcessingCut #41Solution 1.sh
Solution 2.sh
35Text ProcessingCut #51Solution 1.sh
Solution 2.sh
34Text ProcessingCut #61Solution.sh
33Text ProcessingCut #71Solution.sh
32Text ProcessingCut #81Solution.sh
31Text ProcessingCut #91Solution.sh
30Text ProcessingPaste #12Solution.sh
29Text ProcessingPaste #22Solution.sh
28Text ProcessingPaste #32Solution.sh
27Text ProcessingPaste #42Solution 1.sh
Solution 2.sh
26Text ProcessingHead of a Text File #12Solution.sh
25Text ProcessingHead of a Text File #21Solution.sh
24Text ProcessingTail of a Text File #12Solution.sh
23Text ProcessingTail of a Text File #22Solution.sh
22Text ProcessingMiddle of a Text File3Solution 1.sh
Solution 2.sh
Solution 3.sh
21Text Processing'Tr' Command #11Solution 1.sh
Solution 2.sh
20Text Processing'Tr' Command #21Solution.sh
19Text Processing'Tr' Command #31Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
18BashLet's Echo1Solution.sh
17BashA Personalized Echo1Solution.sh
16BashLooping with Numbers2Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
15BashThe World of Numbers2Solution 1.sh
Solution 2.sh
14BashLooping and Skipping2Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
13BashComparing Numbers3Solution 1.sh
Solution 2.sh
12BashGetting started with conditionals3Solution 1.sh
Solution 2.sh
11BashMore on Conditionals3Solution.sh
10BashArithmetic Operations3Solution.sh
9BashCompute the Average4Solution.sh
8Arrays in BashFilter an Array with Patterns1Solution 1.sh
Solution 2.sh
7Arrays in BashRead in an Array1Solution 1.sh
Solution 2.sh
6Arrays in BashSlice an Array1Solution 1.sh
Solution 2.sh
5Arrays in BashConcatenate an array with itself1Solution.sh
4Arrays in BashDisplay an element of an array1Solution.sh
3Arrays in BashCount the number of elements in an Array1Solution.sh
2Arrays in BashRemove the First Capital Letter from Each Element1Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
1Arrays in BashLonely Integer - Bash!10Solution 1.sh
Solution 2.sh

About

Systems programming and kernel development, with expertise in Unix-like operating systems, synchronization theory, and C language implementation for Linux environments.

Topics

Resources

Stars

31 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - andy489/Linux_Shell: Systems programming and kernel development, with expertise in Unix-like operating systems, synchronization theory, and C language implementation for Linux environments. · GitHub
Skip to content

Repository files navigation

UNIX/Linux/Bash shell, C

"vi has 2 modes. One that beeps at you, and another that ruins everything."

SubdomainThemeLink
TheoryUnix-like Operating Systems – TheoryTheory (main)
Theory (additional)
The Little Book of Semaphores
FMI>TasksAll tasks included in 2020 FMI longlistLonglist 2020
FMI>Cheat sheetsGood coders code, great coders reuseBash Redirection Cheat Sheets
vi Reference Card
Makefile
FMI>ProjectImage editorcrop [ipoint median_faces rect_faces].sh
crop_all.sh

FMI Tasks

NSubdomainTaskSolution
131FMI>C>ProcessesExam 2020-07-12 Task 2foo.c
bar.c
130FMI>C>ProcessesExam 2020-07-12 Task 1Examples
Solution.c
129FMI>C>ProcessesAdditional Task 2.mdSolution.c
128FMI>C>ProcessesAdditional Task 1.mdSolution.c
127FMI>C>Processescat a.txt / sort / uniq.cSolution 1 (long).c
Solution 2 (short).c
126FMI>C>Processescat passwd.txt / cut -d ':' -f 7 / sort / uniq.cSolution.c
125FMI>C>ProcessesTask P03.cSolution.c
124FMI>C>ProcessesTask P02.cSolution.c
123FMI>C>ProcessesTask P01.cSolution 1.c
Solution 2.c
121FMI>C>ProcessesTask 13.cSolution 1.c
Solution 2.c
120FMI>C>ProcessesTask 12.cSolution.c
119FMI>C>ProcessesTask 11.cSolution.c
118FMI>C>ProcessesTask 10.cSolution.c
117FMI>C>ProcessesTask 09.cSolution.c
116FMI>C>ProcessesTask 08.cSolution 1.c
Solution 2(more precise).c
115FMI>C>ProcessesTask 07.cSolution.c
114FMI>C>ProcessesTask 06.cSolution.c
113FMI>C>ProcessesTask 05.cSolution.c
112FMI>C>ProcessesTask 04.cSolution.c
111FMI>C>ProcessesTask 03.cSolution.c
110FMI>C>ProcessesTask 02.cSolution.c
109FMI>C>ProcessesTask 01.cSolution.c
108FMI>C>ProcessesTask 48Solution 1.c
Solution 2.c
test cmd for 2nd sol.sh
107FMI>C>ProcessesTask 47Solution.c
106FMI>C>ProcessesTask 46Solution.c
105FMI>C>ProcessesTask 45Solution.c
104FMI>C>ProcessesPrompt with arguments.mdSolution 1.c
Solution 2.c
103FMI>C>ProcessesTask 44Solution 1.c
Solution 2.c
102FMI>C>ProcessesTask 43Solution.c
101FMI>C>Processesclassic deadlock exampledeadlock.c
100FMI>C>Processesfork-loopfork-loop.c
99FMI>C>Read/Write41. sort max 65535 uint16_t elementsSolution 1 (counting sort).c
Solution 2 (heapsort).c
98FMI>C>Read/Write40. cutSolution.c
97FMI>C>Read/Write39. equivalent to 33Solution (qsort + merge).c
96FMI>C>Read/Write38. tr [OPTION] SET1 [SET2]Solution 1.c
Solution 2 (strchr, strrchr).c
Solution 3 (goto).c
95FMI>C>Read/Write37. <patch.bin> <f1.bin> <f2.bin>Solution.c
94FMI>C>Read/Write36. cat with argsSolution 1.c
Solution 2 (more precise).c
93FMI>C>Read/Write35. <f1.bin> <f2.bin> <patch.bin>Solution 1.c
Solution 2.c
92FMI>C>Read/Write34. <f1.dat> <f1.idx> <f2.dat> <f2.idx>Solution 1.c
Solution 2.c
91FMI>C>Read/Write33. sort big binary fileSolution (qsort + merge).c
90FMI>C>Read/Write32. pairs extract from fileSolution 1.c
Solution 2.c
89FMI>C>Read/Write31. sort file.bin inplaceSolution.c
88FMI>C>Read/Writeoverflow testing with counting sortSolution.c
87FMI>Cmemory managementstruct padding.c
86FMI>C>Read/Write11. counting sortSolution 1 (<file.bin> <sorted.bin>).c
Solution 2 (inplace).c
85FMI>C>Read/Write10. [--print --min --max] binfileSolution.c
84FMI>C>Read/Write09. passwd with '?' separatorSolution.c
83FMI>C>Read/Write08. cp with multiple argsSolution 1.c
Solution 2.c
Solution 3.c
82FMI>C>Read/Write07. cat with multiple argsSolution.c
81FMI>C>Read/Write06. cp with 2 argsSolution.c
80FMI>C>Read/Write05. sort binary fileSolution.c
79FMI>C>Read/Write04. wcSolution.c
78FMI>C>Read/Write03. head without optionsSolution.c
77FMI>C>Read/Write02. swap filesSolution 1 (read and write).c
Solution 2 (renameat2).c
76FMI>C>Read/Write01. appendSolution 1 (O_APPEND).c
Solution 2 (lseek).c
75FMI>C>Read/Writepaste with 2 files.mdSolution.c
74FMI>ScriptsLonget Filename SearchSolution.sh
73FMI>Scripts./chfextSolution.sh
72FMI>ScriptsTask 29Solution.sh
71FMI>ScriptsTask 28Solution (A) cycle.sh
Solution 1 (B) extract last digit.sh
Solution 2 (B) smart sed + bc.sh
70FMI>ScriptsTask 27Solution 1 (sorted).sh
Solution 2 (input order).sh
69FMI>ScriptsTask 26Solution.sh
68FMI>ScriptsTask 25Solution.sh
67FMI>ScriptsTask 23Solution 1 (sort -V).sh
Solution 2 (multiple fields sort).sh
66FMI>ScriptsTask 24Solution.sh
65FMI>ScriptsTask 22Solution.sh
64FMI>ScriptsTask 21Solution.sh
63FMI>ScriptsTask 20Solution.sh
62FMI>ScriptsTask 19Solution.sh
61FMI>ScriptsTask 18Solution.sh
60FMI>ScriptsTask 17Solution.sh
59FMI>ScriptsTask 16Solution 1.sh
Solution 2.sh
58FMI>ScriptsTask 15Solution.sh
57FMI>ScriptsTask 14Solution.sh
56FMI>ScriptsTask 13Solution 1.sh
Solution 2.sh
55FMI>Shell05-b-9600Solution.sh
54FMI>Shell05-b-9501Solution.sh
53FMI>Shell05-b-9200Solution.sh
52FMI>Shell05-b-9100Solution.sh
51FMI>Shell05-b-8000Solution.sh
50FMI>Shell05-b-7800Solution.sh
49FMI>Shell05-b-7700Solution 1 (awk -v).sh
Solution 2 (-size).sh
48FMI>Shell05-b-7550Solution 1 (one by one - polite).sh
Solution 2 (all at once).sh
47FMI>Shell05-b-7500Solution.sh
46FMI>Shell05-b-7200Solution 1 (find by -size).sh
Solution 2 (awk -v).sh
45FMI>Shell05-b-7100Solution.sh
44FMI>Shell05-b-7000Solution.sh
43FMI>Shell05-b-6800Solution.sh
42FMI>Shell05-b-6600Solution 1 (pipe).sh
Solution 2 (process substitution).sh
41FMI>Shell05-b-5500Solution.sh
40FMI>Shell05-b-4800Solution.sh
39FMI>Shell05-b-4700Solution 1 (for loop).sh
Solution 2 (xargs).sh
Solution 3 (sed).sh
38FMI>Shell05-b-4600Solution.sh
37FMI>Shell05-b-4400Solution.sh
36FMI>Shell05-b-4301Solution.sh
35FMI>Shell05-b-4300Solution.sh
34FMI>Shell05-b-4200Solution 1.sh
Solution 2.sh
Solution 3.sh
33FMI>Shell05-b-3400Solution.sh
32FMI>Shell05-b-3300Solution.sh
31FMI>Shell05-b-3200Solution 1.sh
Solution 2.sh
30FMI>Shell05-b-3100Solution.sh
29FMI>Shell05-b-2800Solution 1 (bashism).sh
Solution 2 (pipe).sh
Solution 3 (process substitution).sh
28FMI>Shell05-b-2000Solution.sh
27FMI>Shell04-b-9000Solution 1.sh
Solution 2.sh
26FMI>Processes04-b-8000Solution.sh
25FMI>Processes04-b-7000Solution.sh
24FMI>Processes04-a-6300Solution.sh
23FMI>Processes04-b-6200Solution.sh
22FMI>Processes04-b-6100Solution.sh
21FMI>Processes04-a-6000Solution.sh
20FMI>Processes04-b-5000Solution.sh
19FMI>Processes04-a-5000Solution.sh
18FMI>ShellDraw PyramidSolution.sh
17FMI>File ProcessingE 12Solution.sh
16FMI>Text ProcessingE 11Solution.sh
15FMI>Text ProcessingE 10Solution.sh
14FMI>File ProcessingE 09Solution.sh
13FMI>File ProcessingE 08Solution.sh
12FMI>Text ProcessingE 07Solution.sh
11FMI>File ProcessingE 06Solution.sh
10FMI>File ProcessingE 05Solution.sh
9FMI>Text ProcessingE 04Solution.sh
8FMI>Text ProcessingE 02Solution.sh
7FMI>Text ProcessingE 01Solution.sh
6FMI>Text ProcessingT_02Solution.sh
5FMI>Text ProcessingT 01Solution.sh
4FMI>Text Processing03-b-7500Solution.sh
3FMI>Text ProcessingT_06Solution.sh
2FMI>Text ProcessingT_05Solution.sh
1FMI>Text ProcessingT_04Solution.sh

Warm up with Hackerrank

NSubdomainChallengePointsSolution
64Text ProcessingSort Command #11Solution.sh
63Text ProcessingSort Command #21Solution.sh
62Text ProcessingSort Command #31Solution.sh
61Text ProcessingSort Command #41Solution 1.sh
Solution 2.sh
60Text ProcessingSort Command #51Solution.sh
59Text ProcessingSort Command #61Solution.sh
58Text ProcessingSort Command #71Solution.sh
57Text Processing'Uniq' Command #11Solution.sh
56Text Processing'Uniq' Command #21Solution 1.sh
Solution 2.sh
55Text Processing'Uniq' Command #31Solution 1.sh
Solution 2.sh
54Text Processing'Uniq' Command #41Solution 1.sh
53Text Processing'Grep' A2Solution 1.sh
Solution 2.sh
52Text Processing'Grep' B2Solution 1.sh
Solution 2.sh
51Text Processing'Grep' #12Solution 1.sh
Solution 2.sh
50Text Processing'Grep' #22Solution.sh
49Text Processing'Grep' #32Solution.sh
48Text Processing'Sed' Command #12Solution 1.sh
Solution 2.sh
47Text Processing'Sed' Command #22Solution.sh
46Text Processing'Sed' Command #32Solution 1.sh
Solution 2.sh
45Text Processing'Sed' Command #42Solution 1.sh
Solution 2.sh
44Text Processing'Sed' Command #52Solution 1.sh
Solution 2.sh
43Text Processing'Awk' #12Solution 1.sh
Solution 2.sh
42Text Processing'Awk' #22Solution 1.sh
Solution 2.sh
41Text Processing'Awk' #32Solution 1.sh
Solution 2.sh
40Text Processing'Awk' #42Solution 1.sh
Solution 2.sh
39Text ProcessingCut #11Solution.sh
38Text ProcessingCut #21Solution.sh
37Text ProcessiingCut #31Solution.sh
36Text ProcessingCut #41Solution 1.sh
Solution 2.sh
35Text ProcessingCut #51Solution 1.sh
Solution 2.sh
34Text ProcessingCut #61Solution.sh
33Text ProcessingCut #71Solution.sh
32Text ProcessingCut #81Solution.sh
31Text ProcessingCut #91Solution.sh
30Text ProcessingPaste #12Solution.sh
29Text ProcessingPaste #22Solution.sh
28Text ProcessingPaste #32Solution.sh
27Text ProcessingPaste #42Solution 1.sh
Solution 2.sh
26Text ProcessingHead of a Text File #12Solution.sh
25Text ProcessingHead of a Text File #21Solution.sh
24Text ProcessingTail of a Text File #12Solution.sh
23Text ProcessingTail of a Text File #22Solution.sh
22Text ProcessingMiddle of a Text File3Solution 1.sh
Solution 2.sh
Solution 3.sh
21Text Processing'Tr' Command #11Solution 1.sh
Solution 2.sh
20Text Processing'Tr' Command #21Solution.sh
19Text Processing'Tr' Command #31Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
18BashLet's Echo1Solution.sh
17BashA Personalized Echo1Solution.sh
16BashLooping with Numbers2Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
15BashThe World of Numbers2Solution 1.sh
Solution 2.sh
14BashLooping and Skipping2Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
13BashComparing Numbers3Solution 1.sh
Solution 2.sh
12BashGetting started with conditionals3Solution 1.sh
Solution 2.sh
11BashMore on Conditionals3Solution.sh
10BashArithmetic Operations3Solution.sh
9BashCompute the Average4Solution.sh
8Arrays in BashFilter an Array with Patterns1Solution 1.sh
Solution 2.sh
7Arrays in BashRead in an Array1Solution 1.sh
Solution 2.sh
6Arrays in BashSlice an Array1Solution 1.sh
Solution 2.sh
5Arrays in BashConcatenate an array with itself1Solution.sh
4Arrays in BashDisplay an element of an array1Solution.sh
3Arrays in BashCount the number of elements in an Array1Solution.sh
2Arrays in BashRemove the First Capital Letter from Each Element1Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
1Arrays in BashLonely Integer - Bash!10Solution 1.sh
Solution 2.sh

About

Systems programming and kernel development, with expertise in Unix-like operating systems, synchronization theory, and C language implementation for Linux environments.

Topics

Resources

Stars

31 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - andy489/Linux_Shell: Systems programming and kernel development, with expertise in Unix-like operating systems, synchronization theory, and C language implementation for Linux environments. · GitHub
Skip to content

Repository files navigation

UNIX/Linux/Bash shell, C

"vi has 2 modes. One that beeps at you, and another that ruins everything."

SubdomainThemeLink
TheoryUnix-like Operating Systems – TheoryTheory (main)
Theory (additional)
The Little Book of Semaphores
FMI>TasksAll tasks included in 2020 FMI longlistLonglist 2020
FMI>Cheat sheetsGood coders code, great coders reuseBash Redirection Cheat Sheets
vi Reference Card
Makefile
FMI>ProjectImage editorcrop [ipoint median_faces rect_faces].sh
crop_all.sh

FMI Tasks

NSubdomainTaskSolution
131FMI>C>ProcessesExam 2020-07-12 Task 2foo.c
bar.c
130FMI>C>ProcessesExam 2020-07-12 Task 1Examples
Solution.c
129FMI>C>ProcessesAdditional Task 2.mdSolution.c
128FMI>C>ProcessesAdditional Task 1.mdSolution.c
127FMI>C>Processescat a.txt / sort / uniq.cSolution 1 (long).c
Solution 2 (short).c
126FMI>C>Processescat passwd.txt / cut -d ':' -f 7 / sort / uniq.cSolution.c
125FMI>C>ProcessesTask P03.cSolution.c
124FMI>C>ProcessesTask P02.cSolution.c
123FMI>C>ProcessesTask P01.cSolution 1.c
Solution 2.c
121FMI>C>ProcessesTask 13.cSolution 1.c
Solution 2.c
120FMI>C>ProcessesTask 12.cSolution.c
119FMI>C>ProcessesTask 11.cSolution.c
118FMI>C>ProcessesTask 10.cSolution.c
117FMI>C>ProcessesTask 09.cSolution.c
116FMI>C>ProcessesTask 08.cSolution 1.c
Solution 2(more precise).c
115FMI>C>ProcessesTask 07.cSolution.c
114FMI>C>ProcessesTask 06.cSolution.c
113FMI>C>ProcessesTask 05.cSolution.c
112FMI>C>ProcessesTask 04.cSolution.c
111FMI>C>ProcessesTask 03.cSolution.c
110FMI>C>ProcessesTask 02.cSolution.c
109FMI>C>ProcessesTask 01.cSolution.c
108FMI>C>ProcessesTask 48Solution 1.c
Solution 2.c
test cmd for 2nd sol.sh
107FMI>C>ProcessesTask 47Solution.c
106FMI>C>ProcessesTask 46Solution.c
105FMI>C>ProcessesTask 45Solution.c
104FMI>C>ProcessesPrompt with arguments.mdSolution 1.c
Solution 2.c
103FMI>C>ProcessesTask 44Solution 1.c
Solution 2.c
102FMI>C>ProcessesTask 43Solution.c
101FMI>C>Processesclassic deadlock exampledeadlock.c
100FMI>C>Processesfork-loopfork-loop.c
99FMI>C>Read/Write41. sort max 65535 uint16_t elementsSolution 1 (counting sort).c
Solution 2 (heapsort).c
98FMI>C>Read/Write40. cutSolution.c
97FMI>C>Read/Write39. equivalent to 33Solution (qsort + merge).c
96FMI>C>Read/Write38. tr [OPTION] SET1 [SET2]Solution 1.c
Solution 2 (strchr, strrchr).c
Solution 3 (goto).c
95FMI>C>Read/Write37. <patch.bin> <f1.bin> <f2.bin>Solution.c
94FMI>C>Read/Write36. cat with argsSolution 1.c
Solution 2 (more precise).c
93FMI>C>Read/Write35. <f1.bin> <f2.bin> <patch.bin>Solution 1.c
Solution 2.c
92FMI>C>Read/Write34. <f1.dat> <f1.idx> <f2.dat> <f2.idx>Solution 1.c
Solution 2.c
91FMI>C>Read/Write33. sort big binary fileSolution (qsort + merge).c
90FMI>C>Read/Write32. pairs extract from fileSolution 1.c
Solution 2.c
89FMI>C>Read/Write31. sort file.bin inplaceSolution.c
88FMI>C>Read/Writeoverflow testing with counting sortSolution.c
87FMI>Cmemory managementstruct padding.c
86FMI>C>Read/Write11. counting sortSolution 1 (<file.bin> <sorted.bin>).c
Solution 2 (inplace).c
85FMI>C>Read/Write10. [--print --min --max] binfileSolution.c
84FMI>C>Read/Write09. passwd with '?' separatorSolution.c
83FMI>C>Read/Write08. cp with multiple argsSolution 1.c
Solution 2.c
Solution 3.c
82FMI>C>Read/Write07. cat with multiple argsSolution.c
81FMI>C>Read/Write06. cp with 2 argsSolution.c
80FMI>C>Read/Write05. sort binary fileSolution.c
79FMI>C>Read/Write04. wcSolution.c
78FMI>C>Read/Write03. head without optionsSolution.c
77FMI>C>Read/Write02. swap filesSolution 1 (read and write).c
Solution 2 (renameat2).c
76FMI>C>Read/Write01. appendSolution 1 (O_APPEND).c
Solution 2 (lseek).c
75FMI>C>Read/Writepaste with 2 files.mdSolution.c
74FMI>ScriptsLonget Filename SearchSolution.sh
73FMI>Scripts./chfextSolution.sh
72FMI>ScriptsTask 29Solution.sh
71FMI>ScriptsTask 28Solution (A) cycle.sh
Solution 1 (B) extract last digit.sh
Solution 2 (B) smart sed + bc.sh
70FMI>ScriptsTask 27Solution 1 (sorted).sh
Solution 2 (input order).sh
69FMI>ScriptsTask 26Solution.sh
68FMI>ScriptsTask 25Solution.sh
67FMI>ScriptsTask 23Solution 1 (sort -V).sh
Solution 2 (multiple fields sort).sh
66FMI>ScriptsTask 24Solution.sh
65FMI>ScriptsTask 22Solution.sh
64FMI>ScriptsTask 21Solution.sh
63FMI>ScriptsTask 20Solution.sh
62FMI>ScriptsTask 19Solution.sh
61FMI>ScriptsTask 18Solution.sh
60FMI>ScriptsTask 17Solution.sh
59FMI>ScriptsTask 16Solution 1.sh
Solution 2.sh
58FMI>ScriptsTask 15Solution.sh
57FMI>ScriptsTask 14Solution.sh
56FMI>ScriptsTask 13Solution 1.sh
Solution 2.sh
55FMI>Shell05-b-9600Solution.sh
54FMI>Shell05-b-9501Solution.sh
53FMI>Shell05-b-9200Solution.sh
52FMI>Shell05-b-9100Solution.sh
51FMI>Shell05-b-8000Solution.sh
50FMI>Shell05-b-7800Solution.sh
49FMI>Shell05-b-7700Solution 1 (awk -v).sh
Solution 2 (-size).sh
48FMI>Shell05-b-7550Solution 1 (one by one - polite).sh
Solution 2 (all at once).sh
47FMI>Shell05-b-7500Solution.sh
46FMI>Shell05-b-7200Solution 1 (find by -size).sh
Solution 2 (awk -v).sh
45FMI>Shell05-b-7100Solution.sh
44FMI>Shell05-b-7000Solution.sh
43FMI>Shell05-b-6800Solution.sh
42FMI>Shell05-b-6600Solution 1 (pipe).sh
Solution 2 (process substitution).sh
41FMI>Shell05-b-5500Solution.sh
40FMI>Shell05-b-4800Solution.sh
39FMI>Shell05-b-4700Solution 1 (for loop).sh
Solution 2 (xargs).sh
Solution 3 (sed).sh
38FMI>Shell05-b-4600Solution.sh
37FMI>Shell05-b-4400Solution.sh
36FMI>Shell05-b-4301Solution.sh
35FMI>Shell05-b-4300Solution.sh
34FMI>Shell05-b-4200Solution 1.sh
Solution 2.sh
Solution 3.sh
33FMI>Shell05-b-3400Solution.sh
32FMI>Shell05-b-3300Solution.sh
31FMI>Shell05-b-3200Solution 1.sh
Solution 2.sh
30FMI>Shell05-b-3100Solution.sh
29FMI>Shell05-b-2800Solution 1 (bashism).sh
Solution 2 (pipe).sh
Solution 3 (process substitution).sh
28FMI>Shell05-b-2000Solution.sh
27FMI>Shell04-b-9000Solution 1.sh
Solution 2.sh
26FMI>Processes04-b-8000Solution.sh
25FMI>Processes04-b-7000Solution.sh
24FMI>Processes04-a-6300Solution.sh
23FMI>Processes04-b-6200Solution.sh
22FMI>Processes04-b-6100Solution.sh
21FMI>Processes04-a-6000Solution.sh
20FMI>Processes04-b-5000Solution.sh
19FMI>Processes04-a-5000Solution.sh
18FMI>ShellDraw PyramidSolution.sh
17FMI>File ProcessingE 12Solution.sh
16FMI>Text ProcessingE 11Solution.sh
15FMI>Text ProcessingE 10Solution.sh
14FMI>File ProcessingE 09Solution.sh
13FMI>File ProcessingE 08Solution.sh
12FMI>Text ProcessingE 07Solution.sh
11FMI>File ProcessingE 06Solution.sh
10FMI>File ProcessingE 05Solution.sh
9FMI>Text ProcessingE 04Solution.sh
8FMI>Text ProcessingE 02Solution.sh
7FMI>Text ProcessingE 01Solution.sh
6FMI>Text ProcessingT_02Solution.sh
5FMI>Text ProcessingT 01Solution.sh
4FMI>Text Processing03-b-7500Solution.sh
3FMI>Text ProcessingT_06Solution.sh
2FMI>Text ProcessingT_05Solution.sh
1FMI>Text ProcessingT_04Solution.sh

Warm up with Hackerrank

NSubdomainChallengePointsSolution
64Text ProcessingSort Command #11Solution.sh
63Text ProcessingSort Command #21Solution.sh
62Text ProcessingSort Command #31Solution.sh
61Text ProcessingSort Command #41Solution 1.sh
Solution 2.sh
60Text ProcessingSort Command #51Solution.sh
59Text ProcessingSort Command #61Solution.sh
58Text ProcessingSort Command #71Solution.sh
57Text Processing'Uniq' Command #11Solution.sh
56Text Processing'Uniq' Command #21Solution 1.sh
Solution 2.sh
55Text Processing'Uniq' Command #31Solution 1.sh
Solution 2.sh
54Text Processing'Uniq' Command #41Solution 1.sh
53Text Processing'Grep' A2Solution 1.sh
Solution 2.sh
52Text Processing'Grep' B2Solution 1.sh
Solution 2.sh
51Text Processing'Grep' #12Solution 1.sh
Solution 2.sh
50Text Processing'Grep' #22Solution.sh
49Text Processing'Grep' #32Solution.sh
48Text Processing'Sed' Command #12Solution 1.sh
Solution 2.sh
47Text Processing'Sed' Command #22Solution.sh
46Text Processing'Sed' Command #32Solution 1.sh
Solution 2.sh
45Text Processing'Sed' Command #42Solution 1.sh
Solution 2.sh
44Text Processing'Sed' Command #52Solution 1.sh
Solution 2.sh
43Text Processing'Awk' #12Solution 1.sh
Solution 2.sh
42Text Processing'Awk' #22Solution 1.sh
Solution 2.sh
41Text Processing'Awk' #32Solution 1.sh
Solution 2.sh
40Text Processing'Awk' #42Solution 1.sh
Solution 2.sh
39Text ProcessingCut #11Solution.sh
38Text ProcessingCut #21Solution.sh
37Text ProcessiingCut #31Solution.sh
36Text ProcessingCut #41Solution 1.sh
Solution 2.sh
35Text ProcessingCut #51Solution 1.sh
Solution 2.sh
34Text ProcessingCut #61Solution.sh
33Text ProcessingCut #71Solution.sh
32Text ProcessingCut #81Solution.sh
31Text ProcessingCut #91Solution.sh
30Text ProcessingPaste #12Solution.sh
29Text ProcessingPaste #22Solution.sh
28Text ProcessingPaste #32Solution.sh
27Text ProcessingPaste #42Solution 1.sh
Solution 2.sh
26Text ProcessingHead of a Text File #12Solution.sh
25Text ProcessingHead of a Text File #21Solution.sh
24Text ProcessingTail of a Text File #12Solution.sh
23Text ProcessingTail of a Text File #22Solution.sh
22Text ProcessingMiddle of a Text File3Solution 1.sh
Solution 2.sh
Solution 3.sh
21Text Processing'Tr' Command #11Solution 1.sh
Solution 2.sh
20Text Processing'Tr' Command #21Solution.sh
19Text Processing'Tr' Command #31Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
18BashLet's Echo1Solution.sh
17BashA Personalized Echo1Solution.sh
16BashLooping with Numbers2Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
15BashThe World of Numbers2Solution 1.sh
Solution 2.sh
14BashLooping and Skipping2Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
13BashComparing Numbers3Solution 1.sh
Solution 2.sh
12BashGetting started with conditionals3Solution 1.sh
Solution 2.sh
11BashMore on Conditionals3Solution.sh
10BashArithmetic Operations3Solution.sh
9BashCompute the Average4Solution.sh
8Arrays in BashFilter an Array with Patterns1Solution 1.sh
Solution 2.sh
7Arrays in BashRead in an Array1Solution 1.sh
Solution 2.sh
6Arrays in BashSlice an Array1Solution 1.sh
Solution 2.sh
5Arrays in BashConcatenate an array with itself1Solution.sh
4Arrays in BashDisplay an element of an array1Solution.sh
3Arrays in BashCount the number of elements in an Array1Solution.sh
2Arrays in BashRemove the First Capital Letter from Each Element1Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
1Arrays in BashLonely Integer - Bash!10Solution 1.sh
Solution 2.sh

About

Systems programming and kernel development, with expertise in Unix-like operating systems, synchronization theory, and C language implementation for Linux environments.

Topics

Resources

Stars

31 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - andy489/Linux_Shell: Systems programming and kernel development, with expertise in Unix-like operating systems, synchronization theory, and C language implementation for Linux environments. · GitHub
Skip to content

Repository files navigation

UNIX/Linux/Bash shell, C

"vi has 2 modes. One that beeps at you, and another that ruins everything."

SubdomainThemeLink
TheoryUnix-like Operating Systems – TheoryTheory (main)
Theory (additional)
The Little Book of Semaphores
FMI>TasksAll tasks included in 2020 FMI longlistLonglist 2020
FMI>Cheat sheetsGood coders code, great coders reuseBash Redirection Cheat Sheets
vi Reference Card
Makefile
FMI>ProjectImage editorcrop [ipoint median_faces rect_faces].sh
crop_all.sh

FMI Tasks

NSubdomainTaskSolution
131FMI>C>ProcessesExam 2020-07-12 Task 2foo.c
bar.c
130FMI>C>ProcessesExam 2020-07-12 Task 1Examples
Solution.c
129FMI>C>ProcessesAdditional Task 2.mdSolution.c
128FMI>C>ProcessesAdditional Task 1.mdSolution.c
127FMI>C>Processescat a.txt / sort / uniq.cSolution 1 (long).c
Solution 2 (short).c
126FMI>C>Processescat passwd.txt / cut -d ':' -f 7 / sort / uniq.cSolution.c
125FMI>C>ProcessesTask P03.cSolution.c
124FMI>C>ProcessesTask P02.cSolution.c
123FMI>C>ProcessesTask P01.cSolution 1.c
Solution 2.c
121FMI>C>ProcessesTask 13.cSolution 1.c
Solution 2.c
120FMI>C>ProcessesTask 12.cSolution.c
119FMI>C>ProcessesTask 11.cSolution.c
118FMI>C>ProcessesTask 10.cSolution.c
117FMI>C>ProcessesTask 09.cSolution.c
116FMI>C>ProcessesTask 08.cSolution 1.c
Solution 2(more precise).c
115FMI>C>ProcessesTask 07.cSolution.c
114FMI>C>ProcessesTask 06.cSolution.c
113FMI>C>ProcessesTask 05.cSolution.c
112FMI>C>ProcessesTask 04.cSolution.c
111FMI>C>ProcessesTask 03.cSolution.c
110FMI>C>ProcessesTask 02.cSolution.c
109FMI>C>ProcessesTask 01.cSolution.c
108FMI>C>ProcessesTask 48Solution 1.c
Solution 2.c
test cmd for 2nd sol.sh
107FMI>C>ProcessesTask 47Solution.c
106FMI>C>ProcessesTask 46Solution.c
105FMI>C>ProcessesTask 45Solution.c
104FMI>C>ProcessesPrompt with arguments.mdSolution 1.c
Solution 2.c
103FMI>C>ProcessesTask 44Solution 1.c
Solution 2.c
102FMI>C>ProcessesTask 43Solution.c
101FMI>C>Processesclassic deadlock exampledeadlock.c
100FMI>C>Processesfork-loopfork-loop.c
99FMI>C>Read/Write41. sort max 65535 uint16_t elementsSolution 1 (counting sort).c
Solution 2 (heapsort).c
98FMI>C>Read/Write40. cutSolution.c
97FMI>C>Read/Write39. equivalent to 33Solution (qsort + merge).c
96FMI>C>Read/Write38. tr [OPTION] SET1 [SET2]Solution 1.c
Solution 2 (strchr, strrchr).c
Solution 3 (goto).c
95FMI>C>Read/Write37. <patch.bin> <f1.bin> <f2.bin>Solution.c
94FMI>C>Read/Write36. cat with argsSolution 1.c
Solution 2 (more precise).c
93FMI>C>Read/Write35. <f1.bin> <f2.bin> <patch.bin>Solution 1.c
Solution 2.c
92FMI>C>Read/Write34. <f1.dat> <f1.idx> <f2.dat> <f2.idx>Solution 1.c
Solution 2.c
91FMI>C>Read/Write33. sort big binary fileSolution (qsort + merge).c
90FMI>C>Read/Write32. pairs extract from fileSolution 1.c
Solution 2.c
89FMI>C>Read/Write31. sort file.bin inplaceSolution.c
88FMI>C>Read/Writeoverflow testing with counting sortSolution.c
87FMI>Cmemory managementstruct padding.c
86FMI>C>Read/Write11. counting sortSolution 1 (<file.bin> <sorted.bin>).c
Solution 2 (inplace).c
85FMI>C>Read/Write10. [--print --min --max] binfileSolution.c
84FMI>C>Read/Write09. passwd with '?' separatorSolution.c
83FMI>C>Read/Write08. cp with multiple argsSolution 1.c
Solution 2.c
Solution 3.c
82FMI>C>Read/Write07. cat with multiple argsSolution.c
81FMI>C>Read/Write06. cp with 2 argsSolution.c
80FMI>C>Read/Write05. sort binary fileSolution.c
79FMI>C>Read/Write04. wcSolution.c
78FMI>C>Read/Write03. head without optionsSolution.c
77FMI>C>Read/Write02. swap filesSolution 1 (read and write).c
Solution 2 (renameat2).c
76FMI>C>Read/Write01. appendSolution 1 (O_APPEND).c
Solution 2 (lseek).c
75FMI>C>Read/Writepaste with 2 files.mdSolution.c
74FMI>ScriptsLonget Filename SearchSolution.sh
73FMI>Scripts./chfextSolution.sh
72FMI>ScriptsTask 29Solution.sh
71FMI>ScriptsTask 28Solution (A) cycle.sh
Solution 1 (B) extract last digit.sh
Solution 2 (B) smart sed + bc.sh
70FMI>ScriptsTask 27Solution 1 (sorted).sh
Solution 2 (input order).sh
69FMI>ScriptsTask 26Solution.sh
68FMI>ScriptsTask 25Solution.sh
67FMI>ScriptsTask 23Solution 1 (sort -V).sh
Solution 2 (multiple fields sort).sh
66FMI>ScriptsTask 24Solution.sh
65FMI>ScriptsTask 22Solution.sh
64FMI>ScriptsTask 21Solution.sh
63FMI>ScriptsTask 20Solution.sh
62FMI>ScriptsTask 19Solution.sh
61FMI>ScriptsTask 18Solution.sh
60FMI>ScriptsTask 17Solution.sh
59FMI>ScriptsTask 16Solution 1.sh
Solution 2.sh
58FMI>ScriptsTask 15Solution.sh
57FMI>ScriptsTask 14Solution.sh
56FMI>ScriptsTask 13Solution 1.sh
Solution 2.sh
55FMI>Shell05-b-9600Solution.sh
54FMI>Shell05-b-9501Solution.sh
53FMI>Shell05-b-9200Solution.sh
52FMI>Shell05-b-9100Solution.sh
51FMI>Shell05-b-8000Solution.sh
50FMI>Shell05-b-7800Solution.sh
49FMI>Shell05-b-7700Solution 1 (awk -v).sh
Solution 2 (-size).sh
48FMI>Shell05-b-7550Solution 1 (one by one - polite).sh
Solution 2 (all at once).sh
47FMI>Shell05-b-7500Solution.sh
46FMI>Shell05-b-7200Solution 1 (find by -size).sh
Solution 2 (awk -v).sh
45FMI>Shell05-b-7100Solution.sh
44FMI>Shell05-b-7000Solution.sh
43FMI>Shell05-b-6800Solution.sh
42FMI>Shell05-b-6600Solution 1 (pipe).sh
Solution 2 (process substitution).sh
41FMI>Shell05-b-5500Solution.sh
40FMI>Shell05-b-4800Solution.sh
39FMI>Shell05-b-4700Solution 1 (for loop).sh
Solution 2 (xargs).sh
Solution 3 (sed).sh
38FMI>Shell05-b-4600Solution.sh
37FMI>Shell05-b-4400Solution.sh
36FMI>Shell05-b-4301Solution.sh
35FMI>Shell05-b-4300Solution.sh
34FMI>Shell05-b-4200Solution 1.sh
Solution 2.sh
Solution 3.sh
33FMI>Shell05-b-3400Solution.sh
32FMI>Shell05-b-3300Solution.sh
31FMI>Shell05-b-3200Solution 1.sh
Solution 2.sh
30FMI>Shell05-b-3100Solution.sh
29FMI>Shell05-b-2800Solution 1 (bashism).sh
Solution 2 (pipe).sh
Solution 3 (process substitution).sh
28FMI>Shell05-b-2000Solution.sh
27FMI>Shell04-b-9000Solution 1.sh
Solution 2.sh
26FMI>Processes04-b-8000Solution.sh
25FMI>Processes04-b-7000Solution.sh
24FMI>Processes04-a-6300Solution.sh
23FMI>Processes04-b-6200Solution.sh
22FMI>Processes04-b-6100Solution.sh
21FMI>Processes04-a-6000Solution.sh
20FMI>Processes04-b-5000Solution.sh
19FMI>Processes04-a-5000Solution.sh
18FMI>ShellDraw PyramidSolution.sh
17FMI>File ProcessingE 12Solution.sh
16FMI>Text ProcessingE 11Solution.sh
15FMI>Text ProcessingE 10Solution.sh
14FMI>File ProcessingE 09Solution.sh
13FMI>File ProcessingE 08Solution.sh
12FMI>Text ProcessingE 07Solution.sh
11FMI>File ProcessingE 06Solution.sh
10FMI>File ProcessingE 05Solution.sh
9FMI>Text ProcessingE 04Solution.sh
8FMI>Text ProcessingE 02Solution.sh
7FMI>Text ProcessingE 01Solution.sh
6FMI>Text ProcessingT_02Solution.sh
5FMI>Text ProcessingT 01Solution.sh
4FMI>Text Processing03-b-7500Solution.sh
3FMI>Text ProcessingT_06Solution.sh
2FMI>Text ProcessingT_05Solution.sh
1FMI>Text ProcessingT_04Solution.sh

Warm up with Hackerrank

NSubdomainChallengePointsSolution
64Text ProcessingSort Command #11Solution.sh
63Text ProcessingSort Command #21Solution.sh
62Text ProcessingSort Command #31Solution.sh
61Text ProcessingSort Command #41Solution 1.sh
Solution 2.sh
60Text ProcessingSort Command #51Solution.sh
59Text ProcessingSort Command #61Solution.sh
58Text ProcessingSort Command #71Solution.sh
57Text Processing'Uniq' Command #11Solution.sh
56Text Processing'Uniq' Command #21Solution 1.sh
Solution 2.sh
55Text Processing'Uniq' Command #31Solution 1.sh
Solution 2.sh
54Text Processing'Uniq' Command #41Solution 1.sh
53Text Processing'Grep' A2Solution 1.sh
Solution 2.sh
52Text Processing'Grep' B2Solution 1.sh
Solution 2.sh
51Text Processing'Grep' #12Solution 1.sh
Solution 2.sh
50Text Processing'Grep' #22Solution.sh
49Text Processing'Grep' #32Solution.sh
48Text Processing'Sed' Command #12Solution 1.sh
Solution 2.sh
47Text Processing'Sed' Command #22Solution.sh
46Text Processing'Sed' Command #32Solution 1.sh
Solution 2.sh
45Text Processing'Sed' Command #42Solution 1.sh
Solution 2.sh
44Text Processing'Sed' Command #52Solution 1.sh
Solution 2.sh
43Text Processing'Awk' #12Solution 1.sh
Solution 2.sh
42Text Processing'Awk' #22Solution 1.sh
Solution 2.sh
41Text Processing'Awk' #32Solution 1.sh
Solution 2.sh
40Text Processing'Awk' #42Solution 1.sh
Solution 2.sh
39Text ProcessingCut #11Solution.sh
38Text ProcessingCut #21Solution.sh
37Text ProcessiingCut #31Solution.sh
36Text ProcessingCut #41Solution 1.sh
Solution 2.sh
35Text ProcessingCut #51Solution 1.sh
Solution 2.sh
34Text ProcessingCut #61Solution.sh
33Text ProcessingCut #71Solution.sh
32Text ProcessingCut #81Solution.sh
31Text ProcessingCut #91Solution.sh
30Text ProcessingPaste #12Solution.sh
29Text ProcessingPaste #22Solution.sh
28Text ProcessingPaste #32Solution.sh
27Text ProcessingPaste #42Solution 1.sh
Solution 2.sh
26Text ProcessingHead of a Text File #12Solution.sh
25Text ProcessingHead of a Text File #21Solution.sh
24Text ProcessingTail of a Text File #12Solution.sh
23Text ProcessingTail of a Text File #22Solution.sh
22Text ProcessingMiddle of a Text File3Solution 1.sh
Solution 2.sh
Solution 3.sh
21Text Processing'Tr' Command #11Solution 1.sh
Solution 2.sh
20Text Processing'Tr' Command #21Solution.sh
19Text Processing'Tr' Command #31Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
18BashLet's Echo1Solution.sh
17BashA Personalized Echo1Solution.sh
16BashLooping with Numbers2Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
15BashThe World of Numbers2Solution 1.sh
Solution 2.sh
14BashLooping and Skipping2Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
13BashComparing Numbers3Solution 1.sh
Solution 2.sh
12BashGetting started with conditionals3Solution 1.sh
Solution 2.sh
11BashMore on Conditionals3Solution.sh
10BashArithmetic Operations3Solution.sh
9BashCompute the Average4Solution.sh
8Arrays in BashFilter an Array with Patterns1Solution 1.sh
Solution 2.sh
7Arrays in BashRead in an Array1Solution 1.sh
Solution 2.sh
6Arrays in BashSlice an Array1Solution 1.sh
Solution 2.sh
5Arrays in BashConcatenate an array with itself1Solution.sh
4Arrays in BashDisplay an element of an array1Solution.sh
3Arrays in BashCount the number of elements in an Array1Solution.sh
2Arrays in BashRemove the First Capital Letter from Each Element1Solution 1.sh
Solution 2.sh
Solution 3.sh
Solution 4.sh
1Arrays in BashLonely Integer - Bash!10Solution 1.sh
Solution 2.sh

About

Systems programming and kernel development, with expertise in Unix-like operating systems, synchronization theory, and C language implementation for Linux environments.

Topics

Resources

Stars

31 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages