кошка: не кошка, это конкатенатор

Китти

ну, кошачья программа это, вероятно, один из наиболее часто используемых в оболочке Linux. Это очень просто, но в то же время очень практично. Иногда самые простые и базовые инструменты оказываются наиболее эффективными с точки зрения полезности. Его название происходит от conCATenate, отсюда и название, которое я решил поместить в эту статью, где я попытаюсь объяснить его тем, кто его еще не знает.

По сути, конкатенатор выходит за рамки того, что предполагает его название, он не только конкатенирует, он также может отображать содержимое текстового файла, а в сочетании с трубами он может быть еще более мощным и служить многоразовым. И я обобщу все эти базовые утилиты в этой статье с практическими примерами, чтобы вы могли увидеть это более интуитивно ...

к просто просмотреть содержимое файла, вы можете использовать следующую команду:

cat nombre_archivo

cat /etc/passwd

Это покажет вам на экране. В случае зашифрованного файла или двоичного файла вы увидите, что он показывает вам странные символы или символы, не имеющие для вас особого значения.

Вы можете даже просматривать содержимое нескольких объединенных файлов в выводе, отсюда и его название:

cat nombre_archivo

cat /etc/passwd /etc/passwd- /etc/hosts

Еще одна альтернативная возможность прикоснуться: используйте cat для создания файла:

cat > ejemplo.txt

При этом в интерактивном режиме открывается своего рода редактор, в котором вы можете ввести весь текст, который должен содержать созданный вами файл, или оставить его пустым. Когда вы закончите вводить то, что вам нужно, просто нажмите Ctrl + D выйти.

В том случае, содержимое файла может быть длинным и вы предпочитаете облегчить его навигацию и чтение, вы можете использовать для этого все меньше и больше:

cat manual.txt | more
cat manual.txt | less

Это значительно упростит навигацию по отображаемому тексту. Кстати, для выйти нажмите Q как с мужчиной и т. д.

Очень интересно для разработчиков иs показать номер строки. Если вы хотите, чтобы cat пронумеровал строки содержимого файла, используйте параметр n. Это не изменит содержимое файла, в выводе будут отображаться только числа:

cat -n codigo.c 

Кстати, если вы хотите сохранить пронумерованный текст как показано на экране, вы можете сделать это с помощью перенаправления. Например:

к просто просмотреть содержимое файла, вы можете использовать следующую команду:

cat -n codico.c > numerado.txt

Помните, что с> то, что вы делаете, это sзаменить содержание of numbered.txt в этом случае. То есть, если он не существовал, он создается с содержимым, но если он уже существовал, то, что было ранее, будет удалено, а новый контент будет сохранен. Чтобы избежать удаления вышеуказанного и добавления содержимого в конце, используйте >> вместо>.

Обратной стороной опции -n является то, что она нумерует все строки. Но если ты хочешь запретить нумеровать пустые, вы можете использовать -b:

cat -b /etc/hosts

Конечно, со всеми опциями вы можете использовать каналы и перенаправления на контент воронки и т. Д. И советую почитать мужчину-кошку, чтобы узнать больше. Существуют такие параметры, как -e для замены EoL (конец строки) на $, -T для вкладок, -s для подавления пустых повторяющихся строк и т. Д.

До сих пор видимые символы были просто показаны, но есть также много других невидимых, которые не видны. Чтобы показать им, используйте флаг v:

cat -v demo.odt

Вы можете использовать это для удалите содержимое файлов и оставьте их пустыми. Для этого вы можете использовать специальное устройство / dev / null, например:

cat /dev/null | demo.txt

В этом случае содержание / DEV / нуль он имеет значение null и перенаправляет его по конвейеру в текстовый файл demo.txt. То есть demo.txt заполнен нулевым содержимым, или, другими словами, он удален.

Вы также можете использовать это другое, чтобы иметь возможность вводите последовательности, пока не наберете EOL и он закрывается, то есть открывается как своего рода редактор, в котором можно писать все, что угодно. Очевидно, просто так бесполезно, но, например, можно все записать и сохранить в файл:

cat << EOL > hola

Обычно << сообщает оболочке, что вы собираетесь вводить строки, пока не введете метку, которой в данном случае является EOL, которая будет указывать на то, что вы достигли конца. Вы можете заменить EOL на STOP или как хотите.

А если вы работаете с разнородными системами, вы могли заметить, что текстовые файлы мира DOS / Windows используют символы конца строки, отличные от UNIX / Linux, поэтому текст может быть смещен при попытке просмотреть файл в той или иной системе. В * nix LF используется для завершения строки, в то время как в DOS / Windows используется CR / LF. Чтобы решить эту проблему, у вас есть два инструмента: dos2unix для преобразования из DOS / Windows в Unix и unix2dos для обратного. Но если вы не хотите их устанавливать, вы можете использовать для этого cat следующим образом:

cat dos.txt | sed "s/^M\{1,\}$//" | sed "$ s/^Z//" > archivo_convertido.txt

cat unix.txt | sed "s/$/^M/" | sed "$ s/$/^Z/" > archivo_convertido.txt

Как вы видете, Кошачья прибыль много. Несмотря на свою простоту, он позволяет делать множество вещей. Кроме того, все, что вы здесь видели, - это не единственное. Вы можете представить себе множество других утилит и новых вещей, в которых он мог бы вам помочь. Не забудьте прочитать больше в руководстве:

man cat


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.