команда терминала, которая печатает вкладки, пробелы и символы новой строки как \ t \ s и \ n

Я написал терминальную программу в c, которая преобразует вкладки в пробелы. И я хотел бы видеть, что он работает и сколько пробелов было преобразовано из вкладок. Проблема в том, что когда я создаю файл с именем input.txt и передаю его в программу, он просто показывает пробелы для обеих вкладок и пробелов, а не для фактических символов \ t и \ s. Поэтому мне интересно, существует ли существующая команда терминала, которая может принимать выходные данные моей программы и заменять табуляции и пробелы на \ t и \ s соответственно:

cat input7.txt | ./detab abc def 

Возможно, что-то вроде:

 cat input7.txt | ./detab | command abc\s\s\sdef\s\s\s 

Существует ли такая команда уже?

  • как мне обрезать ведущие и конечные пробелы из каждой строки некоторого вывода?
  • Самый быстрый способ определить, содержат ли два отсортированных списка уникальные элементы
  • bash: безопасное использование пробелов в поиске
  • Вывод команды переключения вправо
  • Сортировка входного файла по результатам регулярного выражения
  • Как извлечь положительные числа в первом столбце из вывода, как в вопросе?
  • Как заменить список заполнителей в текстовом файле?
  • Как сделать многострочный поиск и заменить текст (удалить) рекурсивно
  • One Solution collect form web for “команда терминала, которая печатает вкладки, пробелы и символы новой строки как \ t \ s и \ n”

    В Linux, cat -T показывает вкладки как ^I Существуют и другие варианты создания видимых пробелов, для отображения управляющих символов в печатной форме и т. Д.

    Если вы хотите сравнить результат своей программы с оригиналом, вы можете использовать diff :

     ./detab input7.txt | diff input7.txt - | cat -T 

    Вы также можете сравнить ввод вашей программы с expand стандартной утилиты.

    Если вы хотите точно преобразовать пространства в \s и tabs в \t , вы можете использовать sed:

     sed -e 's/\\/\\\\/g' -e 's/\t/\\t/g' -e 's/ /\\s/g' 

    (Первое выражение удваивает обратную косую черту, что делает преобразование однозначным.)

    Linux и Unix - лучшая ОС в мире.