Установка упаковывает, почему об/мин и конфетка используются здесь - почему не всего один?

Все комментарии внутри текста

awk '
  # make array with FEATURE elements from file "feature"
  FNR==NR{f[$1]=1;next}
  # collect to array all FEATUREs NAME by NAME
  FNR>1{e[$1]=e[$1]" "$2}
  # loop for each element in FEATURE array
  END{for (i in f) {
        # produce a head row with FEATURE elements
        r[0]=r[0] i" "
        # starts row counts for each FEATURE elements
        c=0
        # call all NAMEs 
        for (n in e)
          # check if the FEATURE do not exist for the NAME  
          if(e[n] !~ i){
            # produce next row number 
            ++c
            # construct apropriate row
            if(c in r)
              # if row exist add value to it
              r[c]=r[c] " " n
            else
              # if not exist put apropriate spaces before value
              r[c]=s n
            # find maximum row number between all FEATUREs
            if(c>l)
              l=c
          }
        # make shift in row for next FEATURE  
        s=s" "
      }
      # prints row by row
      for (k=0;k<=l;k++)
        print r[k]
  }' feature example | column -tn
0
21.10.2014, 19:09
2 ответа

Если вы знаете наличие символа : в вашем вводе, вы можете сделать что-то подобное.

echo " <j.2:Taxo_Version rdf:resource="refmat:taxonomies-8.2.0"/>" | 
awk -F\: '{print $4}' | sed 's/..$//'

Команда awk выводит на печать 4 th последовательностей после разделителя : , а команда sed используется для удаления последних 2 символов для получения требуемых выходных данных.

Однако, если этот метод работает или нет, зависит от вашего ввода, как terdon точек в своих комментариях .

EDIT

Конечной трубы sed вполне можно избежать, если использовать решение, предложенное jasonwryan в комментариях . Таким образом, команда будет эффективно перефразироваться как,

 echo " <j.2:Taxo_Version rdf:resource="refmat:taxonomies-8.2.0"/>" | 
 awk -F: '{sub(/\/>/,""); print $4}'

Другое решение, только используя вырезание и rev, может быть обрамлено как,

echo " <j.2:Taxo_Version rdf:resource="refmat:taxonomies-8.2.0"/>" | 
cut -d ':' -f4 | rev | cut -c 3- | rev

Снова указание разделителя зависит от входного файла и из примера вы предоставили символы, которые мне нужно извлечь происходят после 4 й позиции разделителя. Я использую вырезать , чтобы извлечь подстроку после этого 4-го разделителя и использовать старый метод rev , чтобы обратить строку и удалить последние 3 символа и снова применить rev к ней, чтобы получить фактическую строку.

-121--175427-

«команда rpm просто добавляет vlc rpm в yum repo»...

Закрыть. Я думаю, что пакет, установленный с помощью rpm , добавляет репозиторий RPM Fusion , после чего yum может устанавливать пакеты из этого репозитория. Очевидно, что первый пакет не может быть установлен через yum , так как он отсутствует в репозиториях, настроенных для yum . Поэтому его нужно было вручную загрузить и установить.

vlc доступен в репозитории RPM Fusion (но не в официальных репозитариях для Fedora, я полагаю), поэтому, если вы не добавите этот репозиторий, yum list не будет показывать ничего для vlc .

-121--210053-
$> su -
    #> rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
    #> yum install vlc
    #> yum install mozilla-vlc (optional)

Объяснение

об/мин -ivh

  • Установить
  • Подробно
  • Показать хэш

Это действие устанавливает пакет, показывающий вращающуюся хэш-метку, до завершения установки. RPM не имеет проверки зависимостей. При использовании yum пакет добавляется в репозиторий yum и выполняется повторная проверка зависимостей. Как указывает muru, не удается использовать yum list , поскольку репозитарий не существует в списке репо. Это также является причиной использования полной ссылки при использовании rpm .

1
28.01.2020, 02:28

«RPM команда просто добавляет RPM VLC к yum repo» ...

. Я думаю, что пакет, установленный с использованием RPM , добавляет репозиторий RPM-репозиторий , после чего yum может установить пакеты из этого репозитория. Очевидно, что сама первая упаковка не может быть установлена ​​через yum , поскольку он отсутствует в репозиториях, которые в настоящее время настроены для yum . Так что это должно было быть загружено и установлено вручную.

VLC доступно в репозитории RPM Fusion (но не в официальных репозиториях для Fedora, я полагаю), поэтому, если вы не добавите этот репозиторий, Список yum не покажет ничего для VLC .

2
28.01.2020, 02:28

Теги

Похожие вопросы