I want to search in a long sentence (more than 1024 letters).

I have one text file (test.txt) which has one long sentence, like this:

afdafglwqgkjrldjl;ewqje;'k;g;je;;;fdsgalsdkf;akslg;safdas.....dasfsd 

Now I want to check which line contains the word saf. This command just shows the whole sentence:

less test.txt | grep saf 

Is it possible to get a part of the sentence or should I use a command other than grep?

4

1 Answer

Not exactly what you were looking for: show the matching lines and highlight the occurences in those lines:

grep --color 'saf' test.txt 

Options for searching saf and displaying up to 15 characters before and after the occurences found using:

  • the standard regex syntax, first mentioned by @kamil-maciorowski in his comment on the question:

    grep -o '.\{0,15\}saf.\{0,15\}' test.txt | grep saf --color 
  • Perl-compatible regex syntax with the -P option, if available:

    grep -o -P '.{0,15}saf.{0,15}' test.txt | grep --color saf 
  • extended regex syntax with the -E option, if your grep has no -P option (like e.g. on macOS):

    grep -o -E '.{0,15}saf.{0,15}' test.txt | grep --color saf 
5

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy