grep changing the delimiter

Solution 1:

It you care just about the output, tr might work for you:

che@nok ~ $ grep cpu /proc/cpuinfo | tr '\n' ';'
cpu family      : 6;cpu MHz             : 800.000;cpu cores     : 2;cpuid level : 10;cpu family : 6;cpu MHz : 800.000;cpu cores      : 2;cpuid level : 10;

Solution 2:

Replace the zero-delimiter ('@') with a newline (\n) before grep:

cat file | tr '\00' '\n' | grep "search-string"