Как извлечь значение, соответствующее одной и той же строке заголовка и столбцу заголовка файла?

У меня нет под рукой системы на основе rpm, чтобы проверить это, но предположим, что ваш список называется rpmlist.txt и вы хотите установить его с помощью rpm, а не yum.

Сначала сделай:

for i in `cat rpmlist.txt | tr ',' '\n'`; do echo $i ; done

если выходные данные показывают пакеты построчно, это должно работать с:

for i in `cat rpmlist.txt | tr ',' '\n'`; do rpm -i $i ; done

Примечание:вы можете заменить rpm -i на yum -y(-y гарантирует, что вам не нужно соглашаться на установку пакетов он просто устанавливает их, не спрашивая.)

0
15.11.2019, 11:26
2 ответа

Использование утилиты dc настольного калькулятора Linux версии GNU:

$ sed -Ee 's/(\S+)/[&]/g' file |
   dc -e "
    [q]sq
    [SM z0=p z0<a]sa
    [LMn 32an lm1-dsm0<p]sp
    [n32ancz]sr
    [zlN=r sz z0<b]sb
    [?z0=q lN1+sN lbx z0=?]s?
    ?zsm lax 10an 1sN l?x
   "
 1 2 3 4 5 
 a g m s # 
1
28.01.2020, 02:17

Perl :настроить разделитель выходных записей $\ и текущую запись.

$ perl -pale 's/^\s+//;
    ($_, $\) = ($F[$.-1], eof ? $/ : $") if $. > 1;
 ' file 

Используя GNU sed, мы можем выполнить два прохода по входным данным, чтобы сгенерировать команды sed, которые будут работать сами с собой для получения выходных данных;

$   sed -n 1!= file  |
    sed -e 's/.*/&s|(\\S+)|\&\\n|&/' \
        -e '$s/$/\n1b\ns|.*\\s(\\S+)\\n.*|\\1|/' \
        -e '$s|$|\nH;$!d;g;y/\\n/ /|' |
    sed -r -f - file |
    column -t
1
28.01.2020, 02:17

Теги

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