HanTengry
написал 30 сентября 2008 года в 16:51 (833 просмотра)
Ведет себя
как мужчина; открыл 36 тем в форуме, оставил 111 комментарий на сайте.
Какой командой можно воспользоваться для того что произвести изменения в каком либо файле, т.е. отредактировать его и сохранить.
Не допонимаю последовательность команд. Думаю что нужно пользоваться командой sed но не могу догадаться как сохранить.
Вот пример:
sed -n ’s/Login/LOGIN/p' /home/primer.sh
Ну то есть если это расшифровать: беру первое попашееся в файле слово Login меняю регистр на LOGIN и вывожу на экран в измененом виде эту строку. А как проделать это изменение и сохранить новую версию файла? Флаг w к сожалению запишет в указаный файл только измененую строку, а надо целиком.
// Тему переместил(а) Dmitry Shurupov из форума «UNIX FAQ: вопросы по UNIX/Linux».
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Можно через перенаправление и временный файл:
?
Anarchist спасибо! но..
Наверно нужно было поменять местами: mv $FILE $TEMPFILE, а иначе новый файл не появляется, но и в этом варианте в новый файл попали только строки которые были отредактированы..те строки которые не были пропущены..
Всегда пожалуйста :)
И никаких «но»! :)
Нет.
Интересно…
В таком режиме с sed’ом не баловался.
Так что: читать руководства по sed && awk (полагаю, достаточное количество в достаточно товарном качестве ищется на http://tldp.org/).
Далее: чтобы понять логику работы sed'а рекомендуется поиграться с редактированием текстовых файлов ed'ом.
Ну и применительно к данному случаю в режиме, который знаю и использую я задача решается так
Что оно делает и как модифицировать к твоим потребностям — разберёшься самостоятельно :)
Возможно — уйдёшь в познаниях sed куда дальше меня.
Зачем так сложно-то?
Чем не нравится вариант с
?
За тем, что скрипт учебный.
И вопрошающему надо с самого начала заложить в голову, что sed ориентирован на работу в первую очереди с stdin.