Note: write an awk script pls (not a bash script) 3 Extract with awk Write an aw
ID: 3604080 • Letter: N
Question
Note: write an awk script pls (not a bash script)
3 Extract with awk Write an awk script named extract.awk to extract a portion of the input file(s) as follows. Somewhere after a line containing exactly the text “START FROM HERE", find the first line containing erectly the text "NEXTLINE" and display the following line. No other lines should be displayed. If the specific lines are not present, then the script should display nothing. For example: [user]$ cat test0.txt START FROM HERE NEXTLINE This is the one we want Not this one Nor this one user]$ extract.awk test0.txt This is the one we want user]$ cat test1.txt Ignore everything up here NEXTLINE Ignore these ines also because we did not see the first magic line yet START FROM HERE More lines to ignore NEXTLINE This should be displayed This should not NEXTLINE This is too late so do not display it START FROM HERE Only the first occurrence matters so NEXTLINE None of this will be displayed either [user]$ extract.awk test1.txt This should be displayed user]$ cat test2.txt This file has no magic text anywhere! [user]$ extract.awk test2.txt [user]$Explanation / Answer
#! /bin/bash
flag1=0
flag2=0
#Read the file line by line
while IFS= read -r line
do
if [ "$line" == "START FROM HERE" ]
then
flag1=1
elif [ "$line" == "NEXTLINE" ] && [ $flag1 -eq 1 ]
then
flag2=1
elif [ $flag2 -eq 1 ]
then
echo "$line"
break
fi
done <"$1"
Input/Output:
# cat test0.txt
Ignore
NEXTLINE
Ignore
gnore
START FROM HERE
Ignore
NEXTLINE
Hello to be displayed
NEXTLINE
This is not to be displayed
# ./extract.awk test0.txt
Hello to be displayed
Related Questions
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.