NT Syntax

FIND

Search for a text string in a file & display all the lines where it is found.

syntax
      FIND [/V] [/C] [/N] [/I] "string" [pathname(s)]
key
/V : Display all lines NOT containing the specified string.

/C : Count the number of lines containing the string.
/N : Display Line numbers.
/I : Ignore the case of characters when searching for the string.

"string" : The text string to find (must be in quotes).
[pathname] : A drive, file or files to search.

If a [pathname] is not specified, FIND will prompt for text input or will accept text piped from another command.
(use CTRL-Z to end manual text input)

For example:

If names.txt contains the following:

  Joe Bloggs, 123 Main St, Dunoon 
  Arnold Jones, 127 Scotland Street, Edinburgh

To search for "Jones" in names.txt

FIND "Jones" names.txt

---------- NAMES.TXT Arnold Jones, 127 Scotland Street, Edinburgh

If you want to pipe a command into FIND use this syntax

TYPE names.txt | FIND "Jones" 

You can also redirect like this

FIND /i "Jones" < names.txt >logfile.txt


To search a folder for FILENAMES that contain a given search string

@ECHO OFF
FOR /F "tokens=2*" %%G IN ('find /c "SearchWord" %1') DO echo %%G includes the word

The line above takes advantage of the fact that /C always returns just one row for each filename.

"Instead of getting married again, I'm going to find a woman I don't like and just give her a house." - Rod Stewart

Related Commands:

FC - Compare files
FINDSTR - Search for strings in files
MUNGE - Find and Replace text within file(s)

Equivalent Linux BASH commands:

grep - Search file(s) for lines that match a given pattern
gawk - Find and Replace text within file(s)
tr - Translate, squeeze, and/or delete characters



Simon Sheppard
SS64.com