#!/bin/zsh# The stat command will be used here to provide the details of the file.# Check if exactly one argument is providedif [ $# -ne 1 ]; then echo "Usage: $0 filename" exit 1fi# Store the argument in a variablefile=$1 # the first positional argument.# Check if the file existsif [ -f "$file" ]; then # Display the last modified time of the file echo "Last modified time of $file:" stat -c %y "$file" # Uses the stat command with the -c %y option to display the last modification time of the file. The %y format specifier shows the last modification time in a human-readable format.else # Display a message if the file does not exist echo "File $file does not exist." exit 1fi
2. Open file and modify file contents using grep and sed
#!/bin/zsh# Check if exactly one argument is providedif [ $# -ne 1 ]; then echo "Usage: $0 filename" exit 1fi# Store the argument in a variablefile=$1# Check if the file existsif [ -f "$file" ]; then # Check if the file contains the word "UNIX" #grep -q "UNIX" "$file" checks if the word "UNIX" is present in the file. #-q makes grep operate quietly without printing matching lines (just return the exit status). if grep -q "UNIX" "$file"; then # Remove the word "UNIX" from the file and save the changes sed -i 's/UNIX//g' "$file" # sed -i 's/UNIX//g' "$file" uses sed to remove all occurrences of the word "UNIX" from the file. #-i option edits the file in place. #s/UNIX//g specifies the substitution command to replace "UNIX" with nothing (//), and g applies the replacement globally on each line. echo "The word 'UNIX' has been removed from $file." else echo "The word 'UNIX' was not found in $file." fielse # Display a message if the file does not exist echo "File $file does not exist." exit 1fi
3. Fibonacci
#!/bin/zshfibonacci() { places=$1 current=0 next=1 echo "The Fibonacci series till $places places is: " echo -n "$current " for ((i=1; i<places; i++)) # Changed condition to 'i<places' do temp=$current # predecessor current=$((current + next)) # predecessor + next. next=$temp echo -n "$current " done echo # to print a newline after the output}fibonacci 20
4. Maximum of 3 numbers using CLI args
#!/bin/zshfind_max_three() { num1=$1 num2=$2 num3=$3 if [ $num1 -lt $num3 ] && [ $num2 -lt $num3 ]; then echo "$num3 is the maximum out of the three numbers!" elif [ $num1 -lt $num2 ] && [ $num2 -gt $num3 ]; then echo "$num2 is the maximum out of the three numbers!" elif [ $num1 -gt $num2 ] && [ $num1 -gt $num3 ]; then echo "$num1 is the maximum out of the three numbers!" else echo "There was an issue determining the maximum." fi}if [ $# -ne 3 ]then echo "Usage: $0 num1 num2 num3" exit 1fifind_max_three $1 $2 $3
5. Factorial
#!/bin/zshfactorial() { num=$1 # A positional argument for the factorial function. frac=1 for ((i=num; i >= 1; i--)) do frac=$((frac*i)) done echo "Factorial of $num is $frac!"}echo -n "Enter a number to calculate its factorial: "read numfactorial $num