cp- copy a file in many folders, but only if it already exists there
I would not parse the output of ls, use the find command instead:

find . -type f -name "info.txt" -exec cp -v ../y/info.txt {} \;


Note that the -v option with cp isn't necessary, I just like to see what's being copied where.

To address a comment, the find command shown above searches the entire PWD. If you want to limit the the search to just first level subdirectories of the PWD then add -maxdepth 2 to the find command, e.g.:

find . -maxdepth 2 -type f -name "info.txt" -exec cp -v ../y/info.txt {} \;


In this scenario:

.
├── a
│   ├── 1
│   │   └── info.txt
│   └── info.txt
├── b
│   └── info.txt
└── c


Only ./a/info.txt and ./b/info.txt are replaced, ./a/1/info.txt is not.