Showing posts with label linux commands. Show all posts
Showing posts with label linux commands. Show all posts

Saturday, 12 February 2022

Get Current Location in Windows PowerShell and Linux

 When you are working on a Windows machine or Linux machine, you run your commands on a specific location. It is the location where you are presently inside, namely the current folder or directory.


How do you get the current location in Windows PowerShell?

Powershell uses the noun "Location"  to get the current directory or location. 

The command is "Get-Location"


Command:

 Get-Location


Output:

Path

----

C:\Users\chinm




How do you get the current location in Linux?

The command to get current location is : pwd  (present working directory)






Tuesday, 9 February 2021

Shell Script that accepts a positive integer and returns comma separated list of integers in descending order

Description: 
Write a  shell script that accepts exactly 1 argument which must be a positive integer. 
The script will print a comma-separated list of integers, all on the same line in descending order

Script: decreaseNum.sh

 

#!/bin/bash
#-----------------------------------------------
#user input
num=$1
temp=''
         
        #continue while input is greater than 0
 while [ $num -gt 0 ]
 do
                #append the numbers in decreasing order with comma-separated
  temp+="$num, "
  num=$(( $num - 1 ))
    done
 temp=$(echo $temp | sed 's/,$//')
 echo $temp


Output:








Monday, 16 November 2020

Shell Script: Get the Average Grade of a Student

Write a shell script, which gives back the average grade of a student The student name we should give as a parameter! If you give a name that is not in the data file, please write out an error message and write out the list of the names (Just the names without the grades!!!) as a help!

input file: class.txt

Name/Math Informatics Literature English
Mohammed 3 4 5 4
Alan 2 1 3 2
Li 3 5 1 3
Jane 4 2 3 1

SCRIPT:

#!/bin/bash
# Variable Declaration
input_file="./class.txt"
name=$1
average=0
err_msg="\n\tPlease pass a student name to the script. \n\te.g.: ./average.sh Tom \n" 
name_list=`cat class.txt | awk '(NR != 1) {print $1}' | tr "\n" ","  | sed -e 's/,$//' -e 's/,/, /g' `
#---------------------------------------------------------------------------------------------
if [ -z "$name" ]
then
echo -e "$err_msg"
else
record=$(grep -w "$name" $input_file)
if [ -n "$record" ]
then
#sum=$(echo $a | awk '{sum=0; for (i=2; i<=NF; i++) { sum +=i} print sum }')
average=$(echo $record | awk '{sum=0; for (i=2; i<=NF; i++) { sum +=$i} print sum/(NF - 1) }')
echo -e "\t $name $average \n"
else
echo -e "No $name is in the list. There are: $name_list"
fi
fi


let's check the output:




Sunday, 8 November 2020

Shell Script: Write 000 to 999 (1000 lines in a file) using Brace Expansion

We need to write from 000 to 999 in a file. As these are consecutive numbers we will be using "Brace Expansion"

Let's Create a file by using the touch command.


Script:

 #create an empty file
touch output.txt 

#using brace expansion with foor loop
 for i in {000..999} #this is brace expansion
do
    #append data to output.txt 
    echo $i >> output.txt
done


Output: 

To see the output use bellow command

        cat output.txt | more