2013-08-12 4 views

ответ

4

это то, что я придумал:

awk '!x{x=sub("apple","banana")}7' file 

, например:

kent$ cat f 
foo 
apple 
foo 
apple 
apple 

kent$ awk '!x{x=sub("apple","banana")}7' f 
foo 
banana 
foo 
apple 
apple 

для sed -i (изменение места) части, если вы используете Gawk 4.1.0, у вас есть этот вариант. в противном случае вы должны использовать временный файл.

+0

вы используете '7'. Забавно! :) +1 – hek2mgl

+0

@ hek2mgl, если я использовал '1', вы могли бы' + 1', теперь я использовал '7', вы должны' + 7' :) нет особой причины, мне нравится этот номер .. – Kent

+0

никогда не видел этого до. но, конечно, любое число, кроме '0', действительно ... как' awk' так много !! но если вы спросите меня, 'sed' здесь более уместен. (вот почему я дал этот ответ) ... – hek2mgl

Смежные вопросы