(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Изучаем команды Linux: paste

Источник: rus-linux
А. Кривошей

1. Введение

paste - одна из наименее известных команд в GNU/Linux (или других Unix-системах), но люди, занимающиеся написанием скриптов оболочки для синтаксического анализа текста, знают о ней и могут подтвердить ее полезность. Это очень простая команда, всего с двумя опциями, использующаяся для вывода бок о бок строк из двух и более файлов. В связи с простотой команды на этот раз не будет таблицы с примерами использования.

2. Использование paste

Представьте, что у вас есть конфигурационный файл, например .cvsrc, а также более поздняя версия этого файла, скажем .cvsrc.new. Для того, чтобы решить, нужно ли заменять старый файл новым, необходимо наглядно отобразить различия между ними. Под рукой всегда есть команда diff(1), но вы просто хотите просмотреть строки бок о бок, без дополнительных примечаний. По умолчанию paste использует в качестве разделителя TAB, поэтому строки из первого файла (.cvsrc) будут отделены от строк из второго файла (.cvsrc.new). Пример:

$ echo .cvsrc > .cvsrc
$ echo .cvsrc.new > .cvsrc.new
$ cat .cvsrc .cvsrc.new 
.cvsrc
.cvsrc.new
$ paste .cvsrc .cvsrc.new 
.cvsrc  .cvsrc.new

В случае если вам необходимо изменить разделитель, используйте опцию -d и задайте разделитель вручную. В примере ниже мы использовали в качестве разделителя ":":

$ paste .cvsrc .cvsrc.new 
.cvsrc  .cvsrc.new
$ paste -d : .cvsrc .cvsrc.new 
.cvsrc:.cvsrc.new

Если вы хотите пронумеровать строки, используйте nl(1)

$ paste -d : .cvsrc .cvsrc.new / nl
     1  .cvsrc:.cvsrc.new

Если же вам нужны продвинутые возможности по программированию, можно использовать, например, awk. Одним из примеров области применения paste может быть работа с конфигурационными файлами, если менеджер пакетов устанавливает их новые версии одновременно с исполняемыми файлами. Но теперь, когда мы изучили основы, можно приступить к опциям paste.

2.1. Опции paste

  • --help - стандартная для утилит Linux опция, не нуждается в пояснениях
  • --version - тоже стандарт
  • -d, --delimiters=... - сменить разделитель TAB на другой (список)
  • -s, --serial - вместо того, чтобы выводить строки из файлов рядом друг с другом, они выводятся последовательно.
  • Если не указано имя файла или вместо него стоит '-', используется stdin.

    Ссылки по теме


     Распечатать »
     Правила публикации »
      Написать редактору 
     Рекомендовать » Дата публикации: 15.11.2012 
     

    Магазин программного обеспечения   WWW.ITSHOP.RU
    Quest Software. SQL Navigator for Oracle
    IBM DOMINO ENTERPRISE CLIENT ACCESS LICENSE AUTHORIZED USER LICENSE + SW SUBSCRIPTION & SUPPORT 12 MONTHS
    YourKit Profiler for .NET - Floating License - 1 year of e-mail support and upgrades
    Quest Software. Toad for DBA Suite for Oracle
    Panda Gold Protection - ESD версия - на 1 устройство - (лицензия на 1 год)
     
    Другие предложения...
     
    Курсы обучения   WWW.ITSHOP.RU
     
    Другие предложения...
     
    Магазин сертификационных экзаменов   WWW.ITSHOP.RU
     
    Другие предложения...
     
    3D Принтеры | 3D Печать   WWW.ITSHOP.RU
     
    Другие предложения...
     
    Новости по теме
     
    Рассылки Subscribe.ru
    Информационные технологии: CASE, RAD, ERP, OLAP
    Новости ITShop.ru - ПО, книги, документация, курсы обучения
    OS Linux для начинающих. Новости + статьи + обзоры + ссылки
    Реестр Windows. Секреты работы на компьютере
    Новые материалы
    Вопросы и ответы по MS SQL Server
    Один день системного администратора
     
    Статьи по теме
     
    Новинки каталога Download
     
    Исходники
     
    Документация
     
     



        
    rambler's top100 Rambler's Top100