Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
What is the command to find the word or words from a given line.
I will be opening a file and reading line by line. Need to check for an certain word or words from that line, if its present then have to append the next 3 line ( including the present line into a file).
This i need to implement using shell script.
Please let me know ur suggestions on it.
Thanks in advance.
Tools like grep and sed can find patterns on lines within files. To append lines, I'd recommend sed. There's a tutorial here that should help with what you want to do.
I'm not at a box where I can write/test an example for you at the moment.
Setup a test file and see if this is what your wanting. This should print the following three lines of the pattern and the pattern line. If the pattern is in one of the extra lines it prints it will not match that as a pattern. So this really may not help if it's what you want then all you have to do is decide how to use it in the scrip.
Example:
file ex.txt has the following lines:
----------------------------
abc hfgsdf kjf sd kj
gfh kjf df efh rakesh fh
jsdhf sjhf sjhdf hf
hsd hsd ljhsd ds s
hsf f vs fsdg
---------------------------
using the shell script i will be opening the file and reading line by line. what my requirement is when ever i read a line, i need to check for the word rakesh, if its present then i need to get the 3 line including the line which has rakesh..
so i need below 3 lines when i check for word rakesh in a line
-----------------------
gfh kjf df efh rakesh fh
jsdhf sjhf sjhdf hf
hsd hsd ljhsd ds s
----------------------
Note this file will have more then one line with the word rakesh.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.