Команда, которую вы предложили, выводит строку Привет, затем передает результат этого вывода в iconv и применяет grep к результату iconv.Это не то, что вы хотите.То, что вы хотите, это:
find . -type f -printf "iconv -f cp1251 -t utf-8 '%p' | grep --label '%p' -H 'Привет'\n" | sh
Это применяет iconv, за которым следует grep, к каждому файлу ниже текущего каталога.
Но учтите, что это предполагает, что all из ваших файлов в CP1251.Это потерпит неудачу, если только некоторые из них.В этом случае вам сначала нужно написать программу, которая определяет кодировку файла, а затем применяет iconv только в случае необходимости.