LINUX.ORG.RU

grep, cut


0

1

pacman -Qi | grep -e 'Name' -e 'Installed Size'

Выхлоп:

Name : acl
Installed Size : 596.00 K
Name : attr
Installed Size : 356.00 K
Name : bash
Installed Size : 3076.00 K
....

Требуемый выхлоп:

acl - 596.00 K

маны по cut, awk и ещё чему то не помогли. Наверное я слишком тупой. Помогите.

[19:31:55][aitap@Tarkus ~]> cat test.txt
Name : acl
Installed Size : 596.00 K
Name : attr
Installed Size : 356.00 K
Name : bash
Installed Size : 3076.00 K
[19:32:14][aitap@Tarkus ~]> perl -e 'while ($name = <STDIN> and $size = <STDIN>) {chomp $size; chomp $name; $name =~ s/^.*://; $size =~ s/^.*://; print "$name - $size\n"}' < test.txt
 acl -  596.00 K
 attr -  356.00 K
 bash -  3076.00 K
[19:32:21][aitap@Tarkus ~]>
AITap ★★★★★
()
Ответ на: комментарий от AITap

>perl -e 'while ($name = <STDIN> and $size = <STDIN>) {chomp $size; chomp $name; $name =~ s/^.*://; $size =~ s/^.*://; print «$name - $size\n»}'

Имхо, не перловый это стиль. На питоне так писать надо =)

Мой вариант: perl -ne 's/Name : (.+)$/print «$1 - »/e || s/Installed Size : (.+)$/print «$1\n»/e'

anonymous
()
Ответ на: комментарий от anonymous

TIMTOWTDI :)
Действительно, что-то я про /e не догадался.

AITap ★★★★★
()

Хренасе сборище извращенцев

awk -F':' '/Name/ {n=$2}; /Installed Size/ {print n" - «$1}'

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.