Here’s a bash script that reads an input file and calculates the sum. A file containing a couple of records is an input for this script. The script reads this file using While (loop) and checks for a specific string; If found, further, it gets a substring of numbers for some calculation.
Reading file and calcuate sum
- The read — r command reads the file. The While loop reads till the end of the file. Added if logic to test the string.
- The sed utility formats the input record as desired. When the matched string is received, it will then get a number (used substring concept). Then, the echo statement displays the calculated sum.
The result would be the sum of app1 memory and app2 memory. It gives 10+20=30.
What it does?
- It replaces the ‘m’ that is found in the cpu. Also, it calculates the sum of the mem of app1 and app2 values.
- The read -r line reads input. The file name <inputfile.txt works as an input to the While loop. The sed output, it writes to Output.txt file.
- When the string matches to ‘mem’ it gets a number from it. This is later will use it to calculate the sum.
- This is a tricky shell script and may ask in interviews.
- The >> says it appends to output.txt file. If you use > each time it overwrites.
Here’s the output from this script. You can see a display of the sum. Also, you can see the output file details without ‘m’ for cpu value.