Использование команды awk и sed внутри perl

У меня есть простая команда awk и sed, которую я хочу записать в perl-скрипт или, альтернативно, использовать perl-эквивалент? Любые указатели будут оценены

sed -e '1d;4d' -e 's/#/Time/' -e 's/TGID/PID/' -e 's/%guest/%CPU/' -e 's/RSS/%MEM/' awk '{ print $1,$3,$7,$13,$NF }'
2
задан 2 October 2017 в 12:34

3 ответа

Без контекста трудно дать точные ответы, но Perl также имеет команду s///, поэтому это должно быть легко.

Чтобы пропустить заданные строки, вы можете добавить что-то вроде [!d1 ]

next if $. == 1 || $. == 4;

Чтобы печатать только указанные столбцы, вы обычно храните их в массиве, а затем просто

print "@F[0,2,6,12] ", scalar @F;
4
ответ дан 22 May 2018 в 17:55
  • 1
    Великолепное спасибо за указатель! Очень признателен. – SimplySimplified 2 October 2017 в 12:25

Без контекста трудно дать точные ответы, но Perl также имеет команду s///, поэтому это должно быть легко.

Чтобы пропустить заданные строки, вы можете добавить что-то вроде

next if $. == 1 || $. == 4;

Чтобы печатать только указанные столбцы, вы обычно храните их в массиве, а затем просто

print "@F[0,2,6,12] ", scalar @F;
4
ответ дан 18 July 2018 в 05:53

Без контекста трудно дать точные ответы, но Perl также имеет команду s///, поэтому это должно быть легко.

Чтобы пропустить заданные строки, вы можете добавить что-то вроде

next if $. == 1 || $. == 4;

Чтобы печатать только указанные столбцы, вы обычно храните их в массиве, а затем просто

print "@F[0,2,6,12] ", scalar @F;
4
ответ дан 24 July 2018 в 18:27

Другие вопросы по тегам:

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