Это мое 3-е сообщение в процессе обучения sed. У меня есть гипотетическое требование. Я хочу иметь возможность заменить третье слово в каждой строке на «was», где слова ограничены пробелом (-ами).Как заменить третье слово в строке с помощью sed
bash$ cat words
hi this is me here
hi this is me again
hi this is me yet again
hi this is me
Желаемый результат:
hi this was me here
hi this was me again
hi this was me yet again
hi this was me
Может люди, пожалуйста, помогите с тем, как это сделать с СЕПГ. Я попробовал несколько инструкций, но не работал. Спасибо,
Jagrati
Я нашел его! Я нашел это!
Хорошо, я получил правильную инструкцию наконец. Это работает:
sed -e 's/[^ ]*[^ ]/was/3' words
Это не из-за неравномерного числа пробелов. – Anders
Правда, когда я попробовал это, это было возможно заменить в первой строке, но не в более поздних. – xyz
sed 's/^ * \ ([^] * \) \ \ + \ ([^] * \) \ + есть/\ 1 \ 2 был /' file> result – Anders