Форум русскоязычного сообщества Ubuntu


Автор Тема: Скрипт bash для изменения текстового документа  (Прочитано 379 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн xyprx

  • Автор темы
  • Новичок
  • *
  • Сообщений: 44
    • Просмотр профиля
Народ, подскажите. Можно-ли изменить одну строку в файле на другую, используя скрипт bash.
(Нажмите, чтобы показать/скрыть)

Оффлайн R.E.I.S.U.B.

  • Участник
  • *
  • Сообщений: 102
  • Welcome to the Madhouse!
    • Просмотр профиля
Через sed проще всего имхо.
sed -i '/<ключевые_символы_строки>/s/<заменить_что>/<заменить_на_что>/' /<путь>/<к>/<файлу>

Пользователь решил продолжить мысль [time]26 Март 2016, 16:28:03[/time]:
предварительно без флага -i всё это выполнить для того чтобы удостовериться в верности воплощения задуманного.

Пользователь решил продолжить мысль 26 Март 2016, 15:29:02:
Ну и если надо поместить в автозагрузку то закинуть эту команду в /etc/rc.local что ли..
« Последнее редактирование: 26 Март 2016, 15:29:02 от R.E.I.S.U.B. »
ОС: Ubuntu 14.04.1 LTS 64-bit; Ядро: 3.19.0-56-generic

Оффлайн Azure

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 5661
  • elementaryOS 0.4 Loki, i3wm on Debian9
    • Просмотр профиля
Для управления тачпадом существует synclient со своими командами
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн xyprx

  • Автор темы
  • Новичок
  • *
  • Сообщений: 44
    • Просмотр профиля
Azure,
Я его всегда настраивал по этой инструкции. http://askubuntu.com/questions/592925/dell-inspiron-3551-unresponsive-touchpad/632570#632570 Помогало. Сей-час хочу просто сделать ее в виде скрипта, чтобы все настраивалось без моего участия.

Оффлайн Azure

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 5661
  • elementaryOS 0.4 Loki, i3wm on Debian9
    • Просмотр профиля
Код: Bash
  1. sudo sed -i '/GRUB_CMDLINE_LINUX_DEFAULT=/{/i8042.nopnp/! s/"\s*$/ i8042.nopnp"/;}' /etc/default/grub
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн xyprx

  • Автор темы
  • Новичок
  • *
  • Сообщений: 44
    • Просмотр профиля
Azure,
Скажите, а что означает выражение {/i8042.nopnp/! s/"\s*$/ i8042.nopnp"/;} и почему оно в скобках? Я думал писать там quiet splash/quiet splash i8042.nopnp

Оффлайн Azure

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 5661
  • elementaryOS 0.4 Loki, i3wm on Debian9
    • Просмотр профиля
Просто это ещё и поверка, что если уже 1 раз добавили, то ещё раз не добавит. Можно так
Код: Bash
  1. sudo sed -i -e '/i8042\.nopnp/b' -e '/GRUB_CMDLINE_LINUX_DEFAULT=/s/"\s*$/ i8042.nopnp"/' /etc/default/grub
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

 

Страница сгенерирована за 0.074 секунд. Запросов: 24.