Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / sed Заменить текст в столбце / 7 сообщений из 7, страница 1 из 1
01.07.2011, 13:16
    #37332309
scott2to
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sed Заменить текст в столбце
Нужно сделать замену пятого слова в каждой строке на слово "cheers", если он равен "mood"

Например файл

pen mood stop master yes closed
pen table stop master mood mood

После обработки должно быть

pen mood stop master yes closed
pen table stop master cheers mood

Т.е. должен делать замену только пятого слова. Это можно сделать sed-ом?
...
Рейтинг: 0 / 0
01.07.2011, 22:48
    #37333222
Андрей Панфилов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sed Заменить текст в столбце
scott2to,

wikipediased's language does not have variables and has only primitive GOTO and branching functionality; nevertheless, the language is Turing-complete
...
Рейтинг: 0 / 0
02.07.2011, 00:59
    #37333312
Пухлый
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sed Заменить текст в столбце
scott2to,

с некоторыми ограничениями думаю можно, посмотрите тут немного о sed
...
Рейтинг: 0 / 0
02.07.2011, 01:51
    #37333352
custora
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sed Заменить текст в столбце
~ # cat 1.txt | sed 's/ /!/'| sed 's/ /@/'| sed 's/ /#/'| sed 's/ cheers/ mood/'| sed 's/!/ /'| sed 's/@/ /'| sed 's/#/ /'


pen mood stop master yes closed
pen table stop master mood mood

После обработки должно быть

pen mood stop master yes closed
pen table stop master mood mood

~ #
...
Рейтинг: 0 / 0
02.07.2011, 01:53
    #37333354
custora
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sed Заменить текст в столбце
custora~ # cat 1.txt | sed 's/ /!/'| sed 's/ /@/'| sed 's/ /#/'| sed 's/ cheers/ mood/'| sed 's/!/ /'| sed 's/@/ /'| sed 's/#/ /'


pen mood stop master yes closed
pen table stop master mood mood

После обработки должно быть

pen mood stop master yes closed
pen table stop master mood mood

~ #

sorry....

~ # cat 1.txt | sed 's/ /!/'| sed 's/ /@/'| sed 's/ /#/'| sed 's/ mood/ cheers/'| sed 's/!/ /'| sed 's/@/ /'| sed 's/#/ /'
pen mood stop master yes closed
pen table stop master cheers mood

После обработки должно быть

pen mood stop master yes closed
pen table stop master cheers cheers
~ #
...
Рейтинг: 0 / 0
02.07.2011, 01:59
    #37333359
custora
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sed Заменить текст в столбце
~ # cat 1.txt | sed 's/ /#/4'|sed 's/#mood/#cheers/'|sed 's/#/ /'

pen mood stop master yes closed
pen table stop master cheers mood

После обработки должно быть

pen mood stop master yes closed
pen table stop master cheers mood

~ #
...
Рейтинг: 0 / 0
02.07.2011, 08:30
    #37333403
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sed Заменить текст в столбце
Обязательно sed? На awk вроде проще:

Код: plaintext
$ awk '{ if($5=="mood") $5="cheers"; print $0 }' myfile
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / sed Заменить текст в столбце / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]