From 39538d8cbb56f1c563ecb5735d51c68cbd3d9d9c Mon Sep 17 00:00:00 2001 From: Rushil Umaretiya Date: Mon, 5 Feb 2024 02:54:13 -0500 Subject: [PATCH] finished lab --- 1-lower/test0-result.txt | 2 +- 2-bash/pipe.sh | 3 ++- 2-bash/redirection.sh | 3 ++- 3-truncator/truncator | Bin 0 -> 16064 bytes 3-truncator/truncator.c | 44 ++++++++++++++++++++++++++++++++++++++- 5 files changed, 48 insertions(+), 4 deletions(-) create mode 100755 3-truncator/truncator diff --git a/1-lower/test0-result.txt b/1-lower/test0-result.txt index 01cdea1..1770a59 100644 --- a/1-lower/test0-result.txt +++ b/1-lower/test0-result.txt @@ -1 +1 @@ -tar heels \ No newline at end of file +tar heelsbruh diff --git a/2-bash/pipe.sh b/2-bash/pipe.sh index cc1f786..e2627dd 100755 --- a/2-bash/pipe.sh +++ b/2-bash/pipe.sh @@ -1 +1,2 @@ -#!/bin/bash \ No newline at end of file +#!/bin/bash +awk '/^cd/' $HISTFILE | wc -l diff --git a/2-bash/redirection.sh b/2-bash/redirection.sh index cc1f786..60d7799 100755 --- a/2-bash/redirection.sh +++ b/2-bash/redirection.sh @@ -1 +1,2 @@ -#!/bin/bash \ No newline at end of file +#!/bin/bash +diff <(./lower < test0.txt) test0-result.txt diff --git a/3-truncator/truncator b/3-truncator/truncator new file mode 100755 index 0000000000000000000000000000000000000000..54f9df4c05f34c4888f9ea83560b508b08d7df8e GIT binary patch literal 16064 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 literal 0 HcmV?d00001 diff --git a/3-truncator/truncator.c b/3-truncator/truncator.c index 93c73dd..6b36a71 100644 --- a/3-truncator/truncator.c +++ b/3-truncator/truncator.c @@ -1,2 +1,44 @@ -// PID: 9DigitPidNoSpacesOrDashes +// PID: 730677144 // I pledge the COMP 211 honor code. + +#include +#include + +int main() { + int lines[100]; + int total, chars, cur, c; + + total = 0; + chars = 0; + cur = 0; + + while ((c = getchar()) != EOF) { + chars++; + + if (c == '\n') { + chars = 0; + cur++; + putchar(c); + } else if (chars > 50) { + if (total == 0 || lines[total-1] != cur) { + lines[total] = cur; + total++; + } + + chars = 1; + putchar('\n'); + putchar(c); + } else { + putchar(c); + } + } + + printf("Total lines over 50 chars: %d\n", total); + printf("Offending lines: "); + for (int i = 0; i < total; i++) { + printf("%d, ", lines[i]); + } + printf("\n"); + + return 0; +}