52 / 18 / 11
Регистрация: 27.03.2013
Сообщений: 789
|
||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||
Замена слов в файле, используя утилиту - sed02.06.2017, 13:54. Показов 19516. Ответов 6
Метки нет (Все метки)
Есть необходимость менять слова в файлах
Утилита sed позволяет это сделать так
Кликните здесь для просмотра всего текста
Но в итоге конечный файл не меняется. Подскажите пожалуйста как разрешить данную ситуацию ? Как написать образец если нужно изменить сразу несколько слов или вообще предложений? Написать для каждого слова в отдельной строке команду ? Добавлено через 28 минут Вернее файл меняется, но меняется найденное первое совпадение. Если указать
Но почему он не делает строго по шаблону и меняет , в данном случае, и другие слова, например слово зарядка поменял на разрядка ? Добавлено через 25 минут А вот в данном примере изменения выводятся только на экран, но сам файл не изменяется, почему это может быть? Кликните здесь для просмотра всего текста
В предыдущем примере так же... не изменяется конечный файл. Добавлено через 1 час 49 минут Разобрался с ответом на один из своих вопросов : Кликните здесь для просмотра всего текста
Остается только вопрос о непосредственном изменении самого файла. И изменение точно заданного шаблона.
0
|
02.06.2017, 13:54 | |
Ответы с готовыми решениями:
6
Замена слов в файле Замена слов в файле Замена слов в файле Замена слов в файле |
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
||||||
02.06.2017, 14:22 | 2 | |||||
Код
sed --help … -i[СУФФИКС], --in-place[=СУФФИКС] правка файлов на месте (создаёт копию, если указан СУФФИКС) И немного проще
0
|
52 / 18 / 11
Регистрация: 27.03.2013
Сообщений: 789
|
|||||||||||
05.06.2017, 12:19 [ТС] | 3 | ||||||||||
Вот код, ничего не редактируется, создается только резервная копия...
В чем здесь может быть ошибка ? Мне интересен вариант с использованием /\S*$/. Кликните здесь для просмотра всего текста
Правильно ли я понял ваш код ? А вот так работает, но возможности данной команды ограничены Кликните здесь для просмотра всего текста
0
|
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|
05.06.2017, 21:04 | 4 |
Замените ^\t на ^\s*
0
|
52 / 18 / 11
Регистрация: 27.03.2013
Сообщений: 789
|
||||||
07.06.2017, 17:43 [ТС] | 5 | |||||
Заменил
Кликните здесь для просмотра всего текста
Кроме этого sed дописал к последней строке еще 4 нуля, почему ? Кликните здесь для просмотра всего текста
0
|
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
||||||
07.06.2017, 20:35 | 6 | |||||
Сообщение было отмечено Marinero как решение
Решение
1
|
52 / 18 / 11
Регистрация: 27.03.2013
Сообщений: 789
|
||||||
08.06.2017, 09:56 [ТС] | 7 | |||||
Все работает.
Вот полное решение, с комментариями (как я это понимаю) Кликните здесь для просмотра всего текста
Решено.
0
|
08.06.2017, 09:56 | |
08.06.2017, 09:56 | |
Помогаю со студенческими работами здесь
7
Замена слов в одном текстовом файле словами, записанными в другом текстовом файле Замена слов в текстовом файле Замена нужных слов в файле Замена слов в текстовом файле Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |