Print only Filename based on given String on file name

Hi, I am new to this unix world.

Any ways, I would like to write a shell script that can print the file name.

Ex :

directory will have 5 files with different name.No matter what are contents are.

Now I need to find the file which will have particular name (sub string ).Please do not look into contents.It should be in loop.
Please provide the shell script.

Please let me know if any one need more info.

check the man pages of grep.

Sure, I will check it.I tried find command.I found that we can search in file contents.
Can you please provide script.

grep -l "ABC" /directory

Will this go through in loop to look all the files.

grep -l "ABC" /directory

Yes no loop needed here for a single directory.