Если вы пытаетесь получить информацию о том, сколько места было занято при установке, комбинация yum whatprovides и yum info поможет вам в этом.
yum whatprovides sed
sed-4.2.2-5.el7.x86_64 : A GNU stream text editor
Repo : rhel-7-server-rpms
yum info sed-4.2.2-5.el7.x86_64 ##CHECK Size:
Installed Packages
Name : sed
Arch : x86_64
Version : 4.2.2
Release : 5.el7
Size : 587 k
Repo : installed
From repo : anaconda
Summary : A GNU stream text editor
URL : http://sed.sourceforge.net/
License : GPLv3+
Description : The sed (Stream EDitor) editor is a stream or batch (non-interactive)
: editor. Sed takes text as input, performs an operation or set of
: operations on the text and outputs the modified text. The operations
: that sed performs (substitutions, deletions, insertions, etc.) can be
: specified in a script file or from the command line.
Чистыйawk
:
awk '
FNR==NR{c[NR]=$2}
FNR!=NR{$1 = $1 OFS c[FNR]; print}
' file2 file
Выход:
1 b 2 3 4
5 d 5 6
7 f 7 7 7 9 10
Попробуйте выполнить следующую команду
awk 'FNR==NR{b[FNR]=$2;next}{print $1,b[FNR],$2,$3,$4,$5,$6,$7}' file2.txt file1.txt
Хотя некоторые реализации awk позволяют читать из подчиненных -конвейерных процессов 1 , в этом случае я бы предложил прочитать всю строку из второго файла и выполнить разбиение полей внутри awk:
$ awk '(getline line < "file2.txt") > 0 {split(line,a); $1 = $1 FS a[2]} 1' file1.txt
1 b 2 3 4
5 d 5 6
7 f 7 7 7 9 10
В качестве альтернативы вы можете использовать paste
и cut
, полностью избегая awk
Как насчет небольшого вырезания и вставки?
paste -d" " <(cut -d" " -f1 file1.txt) <(cut -d" " -f2 file2.txt) <(cut -d" " -f2- file1.txt)
В Perl вы читаете строку из файла 1, а затем читаете строку из файла 2 через стандартный ввод. Затем сшейте линии в желаемом порядке.
$ perl -pale '$_ = join "\t", shift @F, <STDIN> =~ /\S\s+(\S+)/, @F' file1.txt < file2.txt
Выход:
1 b 2 3 4
5 d 5 6
7 f 7 7 7 9 10