I'm using command:
adb shell "service call iphonesubinfo 1 s16 com.android.shell | cut -c 52-66 | tr -d '.[:space:]'"
It was working fine on Android 13, but now it gives partly broken IMEI, where 3 numbers came as ' symbol
It's not just these are additional symbols, what i mean is that exactly 3 numbers comes as symbol
As far as i know, every Android 14 devices with IMEI is affected.
I've tried to use command
adb shell service call phone 146 i32 0 s16 com.android.shell | cut -d "'" -f2| grep -Eo '[0-9]'| xargs| sed 's/\ //g'
as per dougstar potential solution, but it's also for Android 13, plus it does give me an error.

//update
Even though original command which i'm using now showing wrong results, it is caused because it catches wrong columns (thanks to micha pringle explaination) It could be fixed with changing from 52-66 columns to 50-64 columns for Android 14 devices
adb shell "service call iphonesubinfo 1 s16 com.android.shell | cut -c 50-64 | tr -d '.[:space:]'"
Even though original command which i'm using now showing wrong results, it is caused because it catches wrong columns (thanks to micha pringle explaination) It could be fixed with changing from 52-66 columns to 50-64 columns for Android 14 devices