Вы можете легко сделать это в perl:
perl -pe 's/\n/\\n/' file
Если ваша строка находится в переменной, используйте:
perl -pe 's/\n/\\n/' <<<"$variable"
Или
printf '%s' "$variable" | perl -pe 's/\n/\\n/'
Если хотите, можете сохранить как переменную:
$ cat test
foo
bar
$ test=$(perl -pe 's/\n/\\n/g' test)
$ echo "$test"
foo\nbar\n
Или, если вы не хотите преобразовывать последний завершающий символ новой строки и предполагаете, что ваш файл достаточно мал, чтобы поместиться в ОЗУ, вы можете сделать:
$ test=$(perl -0777 -pe 's/\n/\\n/g; s/\\n$/\n/' test);
$ echo "$test"
foo\nbar
Или лучший способ, предложенный Ракешем Шармой в комментариях, который не требует хранения файла в памяти:
$ perl -lpe '$\ = eof ? qq(\n) : q(\n);s/\n/\\n/;' test
foo\nbar
С башмаком:
$ cat test
foo
bar
baz
$ content=$(<test)
$ joined=${content//$'\n'/\\n}
$ echo "$joined"
foo\nbar\nbaz