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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions ex01/hello_world.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash
if [ -z $1 ];
then
echo "Hello, World!"
else
echo "Hello, $1!"
fi

2 changes: 1 addition & 1 deletion ex02/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ Write a script that

..*script operates ONLY FULL WORDS(e.g. FIND, FOLDER, etc)

..*search is maked in original case only (FILE != file )
..*search is made in original case only (FILE != file )
12 changes: 12 additions & 0 deletions ex02/ex02.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/bash

for files in "$@"
do
output=$(ls -R | grep $files)
if [[ $? -eq 0 ]]
then
echo $output | tr ' ' '\n'
else
echo the searched PATH is unexisting
fi
done
22 changes: 22 additions & 0 deletions ex03/ex03.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/bash


if [[ -r $1 ]]
then
arguments=($2 $3 $4)
for arg in ${arguments[*]}
do
echo $arg $(grep -c $arg $1 )
grep -n $arg $1 | cut -f1 -d":"

done
exit 0
else
exit 1
fi






12 changes: 12 additions & 0 deletions ex04/ex04.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/bash
path=$2
pattern=$1
if [[ -z $pattern || -z $path ]]
then
exit 1
else
files=$(find $2)
basename $files
grep -n $pattern $files | cut -f1 -d":"
exit 0
fi
4 changes: 2 additions & 2 deletions ex04/test_ex04.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@
}

@test "No args" {
run bash resources/ex04.sh
run bash ex04.sh

[ "$status" -eq 1 ]
[ "$output" = '' ]
}

@test "Without first arg" {
run bash grep_all.sh resources/text_2.txt
run bash ex04.sh resources/text_2.txt

[ "$status" -eq 1 ]
[ "$output" = '' ]
Expand Down
52 changes: 52 additions & 0 deletions ex05/ex05.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#!/bin/bash


if [[ -z $2 ]]; then
echo "0"
exit 0
fi

if ! [[ $2 =~ [[:digit:]] ]]; then
echo "Error.."
exit 1
fi


function sum(){
evenresult=0
oddresult=0
for nums in $@
do
if [[ $(($nums%2)) -eq 0 ]]
then
evenresult=$(($evenresult+$nums))
else
oddresult=$(($oddresult+$nums))
fi
done
result=$(($evenresult+$oddresult))
}



case $1 in
-e)
sum ${@:2} && echo $evenresult
exit 0
;;
-o)
sum ${@:2} && echo $oddresult
exit 0
;;
-s)
sum ${@:2} && echo $result
exit 0
;;
-m)
sum ${@:2} && echo $(( $result / $(($#-1)) ))
exit 0
esac
echo "Error.."
exit 1


13 changes: 13 additions & 0 deletions ex06/ex06.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash

function map(){

for args in ${@:2}
do
eval $1 $args
done


}

map ${@}
10 changes: 10 additions & 0 deletions ex07/ex07.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/bash


if [[ -z $1 || $1 -eq '0' ]]
then
exit 1
else
head -$1 resourses/surnames.txt | grep -v 'Q-Chem' | sed 's/-//;s/.$//'
exit 0
fi
4 changes: 2 additions & 2 deletions ex07/test_ex07.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@
}

@test "Test on 0 lines returns error" {
run ex07.sh 0
run bash ex07.sh 0

[ "$status" -eq 1 ]
}

@test "Test on 2 lines return empty string" {
run ex07.sh 2
run bash ex07.sh 2

[ "$status" -eq 0 ]
[ "$output" = $'' ]
Expand Down
23 changes: 23 additions & 0 deletions ex08/ex08.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/bin/bash
nums=( zeroes, ones, twoes, threes, fours, fives, sixs, sevens, eights, nines)


if [[ $# -gt 1 || $# -lt 1 ]]
then
echo "Too many(few) arguments"
exit 1
fi



for i in {0..9}
do
if ! [[ -f $1 ]];
then
echo "Error.."
exit 1
fi
arr[$i]=$(grep -o $i $1 | wc -l)
result+=' '${arr[$i]}' '${nums[$i]}
done
echo $result
2 changes: 1 addition & 1 deletion ex08/test_ex08.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

[ "$status" -eq 0 ]
[ "$output" = "10 zeroes, 13 ones, 4 twoes, 7 threes, 3 fours, 3 fives, 0 sixs, 0 sevens, 0 eights, 1 nines" ]

}

@test "Too many arguments" {
run bash ex08.sh resources/digitfile.txt digit.txt
Expand Down
20 changes: 20 additions & 0 deletions ex10/ex10.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/bin/bash



if [[ -d $1 ]]
then
echo ""
exit 1
fi

if [[ -r $1 ]]
then
echo $(awk 'END{print NR}' $1) $1
if [[ -r $2 ]]
then
echo $(awk 'END{print NR}' $2) $2
fi
exit 0
fi
exit 1