заменить символ, если он повторяется в строке ниже

echo Division
efgh=$num1/$num2
remainder=$num1%num2
echo $num1 "/" $num2 "=" $efgh.$remainder
echo
0
28.02.2019, 18:28
1 ответ

Такого рода вещи намного проще понять, если вы можете прочитать файл задом наперед. К счастью, tac(, который является catобратным, потому что именно это он и делает ), позволяет нам это сделать. Затем мы можем сделать пометку, когда увидим «CB», и если мы увидим «CB» на следующей (ранее предыдущей )строке, отредактируем ее; затем снова переверните его -на -спереди с другим использованиемtac:

$ tac input | awk '/CB/ && found==1 { $1="CA"; found=0 } /CB/ && found==0 { found=1 } ! /CB/ && found==1 { found=0 } {print}' | tac
N
H
CA
CB
CG1
CG2
C
O
N
H
CA
CB
CG
CD
2
28.01.2020, 02:30

Теги

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