2
Код ниже заменяет первое появление яблока бананом. Как добиться того же, используя awk/gawk?заменить первое появление текста с помощью awk
sed -i "0,/apple/s//banana/" myfile.txt
Код ниже заменяет первое появление яблока бананом. Как добиться того же, используя awk/gawk?заменить первое появление текста с помощью awk
sed -i "0,/apple/s//banana/" myfile.txt
это то, что я придумал:
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, у вас есть этот вариант. в противном случае вы должны использовать временный файл.
вы используете '7'. Забавно! :) +1 – hek2mgl
@ hek2mgl, если я использовал '1', вы могли бы' + 1', теперь я использовал '7', вы должны' + 7' :) нет особой причины, мне нравится этот номер .. – Kent
никогда не видел этого до. но, конечно, любое число, кроме '0', действительно ... как' awk' так много !! но если вы спросите меня, 'sed' здесь более уместен. (вот почему я дал этот ответ) ... – hek2mgl