как сказанный заголовок, я пытаюсь изменить только первое вхождение слова. При помощи sed 's/this/that /' file.txt
хотя я не использую g опцию, она заменяет весь файл. Как зафиксировать это.?
ОБНОВЛЕНИЕ:
$ cat file.txt
first line
this
this
this
this
$ sed -e '1s/this/that/;t' file.txt
first line
this // ------> I want to change only this "this" to "that" :)
this
this
this
http://www.faqs.org/faqs/editor-faq/sed/
4.3. Как изменить только первое вхождение шаблона?
sed -e '1s/LHS/RHS/;t' -e '1,/LHS/s//RHS/'
Где LHS = this, а RHS = that для вашего примера.
Если вы знаете, что шаблон не встречается в первой строке, опустите первый -e и следующий за ним оператор.