Другой способ использования Perl:
perl -ne 'BEGIN{ my @buffer } unshift(@buffer, $_); splice(@buffer, 4); if(/\bcommand\b/) { print(reverse(@buffer)); while(<>) { print(); /\bideal\b/ && exit } exit }' file
n: заставляет Perl предполагать следующий цикл вокруг вашей программы, что заставляет его перебирать аргументы в имени файла несколько как sed -n или awk: LINE:
while (<>) {
... # your program goes here
}
-e: может использоваться для ввода одной строки программы. BEGIN{ my @buffer } unshift(@buffer, $_); splice(@buffer, 4); if(/\bcommand\b/) { print(reverse(@buffer)); while(<>) { print(); /\bideal\b/ && exit } exit }: вставляет текущую строку в начале буфера и обрезает буфер до длины 4; если текущая строка содержит слово command, печатает буфер в обратном порядке и выполняет итерацию по всем оставшимся строкам, печатающим их; если печатная строка, содержащая ideal или конец файла, была достигнута, завершается. % cat file
my name is
Mansour
and I confuse to
use sed
or grep for
piping my command output
to get
my ideal output
% perl -ne 'BEGIN{ my @buffer } unshift(@buffer, $_); splice(@buffer, 4); if(/\bcommand\b/) { print(reverse(@buffer)); while(<>) { print(); /\bideal\b/ && exit } exit }' file
and I confuse to
use sed
or grep for
piping my command output
to get
my ideal output
%
Я попробовал еще пару вещей, и теперь wifi работает снова. Не уверен, что это исправить, но я думаю, что это было:
cd /etc/NetworkManager/system-connections
sudo rm *
reboot
Я попробовал еще пару вещей, и теперь wifi работает снова. Не уверен, что это исправить, но я думаю, что это было:
cd /etc/NetworkManager/system-connections
sudo rm *
reboot