I wanted to check if a particular name or pattern is present in a file based of that rest of the program should proceed.
I want to print '0' if no matching found.
These are actually two scenarios.
If you want to return the number of times a string is found within a file you take the "-c" ("count") option of grep:
This would mean "text" is occurring in two lines of the file. To use it in a script:
But i suspect that you created the variable just because you weren't able to imagine a simpler way. Basically you want to do one thing if the text is found (however often) and another thing if not, right? Well, here it goes: the grep utility returns an "error level", which you can use. "0" means the search text was found, different than 0 means it was not found. Because in shell programming "0" equals to "true" and non-"0" equals to "false" you can use the "-q" (quiet) option of grep to suppress all output of it and directly write:
You haven't asked the question, but an additional warning: when using variable contents as search patterns for grep (or similar tools: awk, sed, ...) take into account that some characters have a special meaning (they are so-called "meta-characters). The first of the following example will work as expected, the second one won't:
If you want to search for the string "a[bc]d" you need to "escape" metacharacters. To make the second example working (that is: searching for the fixed string "a[bc]d") you need to do that (notice the change in quoting too):
I hope this helps.
bakunin
Last edited by bakunin; 12-30-2015 at 10:06 AM..
Reason: typo
Hi,
I need a command that would let ls show number of lines in each file rather than file size in KBs.
I tried using wc -l as a source of input to ls but I found a problem cutting the file name since wc generates a space delimited list.
Any suggestions?
Thanks.
GmMike. (1 Reply)
Hi,
I have a text file contaning around 150 lines, each line is a hostname.
I want to read 4 lines/hostnames and save those 4 lines to a seperate file.
say the big file is /files/bigfile and I want to have a lot of files in /files named
/files/smallfile.1 , /files/smallfile.2 and so on...
... (1 Reply)
Hi
How do I find number of lines of a file? Below commands returned 0. But, the file is showing 20 lines when I open it in editplus tool. Each line contains 601 columns. Please advise
I want to incorporate some word at the begining of each of those 20 lines
-Somesh
$ wc -l <... (2 Replies)
Hi,
I am using below command to display the number of line, but its returning no of lines along with file name.
But i want only no of line in the variable p.
Please help me on this?
p=`wc -l "text file"`
echo "$p" (6 Replies)
Dear Members,
I want to count the number of lines in a file; for that i am using the following command :
FILE_LINE_COUNT=`wc -l $INT_IN/$RAW_FILE_NAME`
if i do an echo on FILE_LINE_COUNT then i get
241 /home/data/testfile.txt
I don't want the directory path to be displayed. Variable... (1 Reply)
I have a file with a list of config files numbered on the lefthand side 1-300. I need to have bash read each lines number and assign it to a variable so it can be chosen by the user called by the script later.
Ex. 1 some data
2 something else
3 more stuff
which number do you... (1 Reply)
Hiii
I am very new to shell scripting.This is my data file
a.txt:
56
45.78
1000
11.23
76.89
45
34.56
23
3400
100
..........
Now i am must use shell scripting to read n number of lines from the file & from ts n number of lines i need to find greatest number among them & so on for... (44 Replies)
a. How do I display the content of the file containing what Ive merged using a filter which would display only the lines of the file which don't contain number, for example 3 or 6. (3 Replies)