zzzzzzzzz
aaaaaaaaa
bbbbbbbbb &
ccccccccc &
ddddddddd
hhhhhhhhh
eeeeeeeee
fffffffff &
ggggggggg &
в приведенной выше строке я хочу, чтобы grep
/ sed
/ awk
(любой метод в порядке) строка, которая имеет &
знак плюс одна строка поверх них. так, например, желаемый результат будет выглядеть так:
aaaaaaaaa
bbbbbbbbb &
ccccccccc &
eeeeeeeee
fffffffff &
ggggggggg &
Следующее - это то, что я попробовал без удачи.
egrep "&" | -b 1 file.txt
text-processing
sed
awk
grep
Рана Хан
источник
источник
GNU/grep
недоступен, спасибо!Вот как эмулировать
grep -B1
сsed
:Это очень похоже на тот, что здесь . Так же, как и другой, он читает в
N
строке ext, но на этот раз онP
набирает номер первой\n
строки, если пространство образца совпадает , а затем, как и другой,D
поднимается до первой\n
строки и перезапускает цикл. Итак, с вашим примером ввода:выходы:
Опять же, чтобы увидеть, как это работает, добавьте
l
до и после,N
чтобы посмотреть на пространство шаблона:например, с примером файла:
это команды, которые
sed
выполняются и соответствующие выходные данные:источник