2016-10-07 3 views
0

У меня есть файл.Заменить символ в терминале

Моя вторая строка начинается с символа '#'.

Какую команду следует использовать для удаления этого символа?

Также на третьей строке я должен положить символ «#» в начале строки.

Например:

line 2: # url: http//192.168.1.1:8000 
line 3: url: http//example.com 

при выполнении команды, изменить место этого «#»

Alternativly, есть способ поставить локальный IP во второй строке автоматически? (Так что, если я перезагрузить маршрутизатор, например, линия будет обновить IP)

ответ

1

Вы можете использовать sed:

sed -i~ '2 s/^#//' filename 
  • -i~ создаст резервную копию
  • 2 номер строки, где следующая команда будет применена
  • s/ pattern/replacement / является замена. Здесь мы ничего не заменим.
  • ^ в шаблоне соответствует началу строки.

Чтобы удалить знак числа из второй строки и добавить его к третьему, используйте

sed -i~ '2 s/^#//; 3 s/^/#/' filename 
+0

Спасибо! Что делать, если я хочу сделать то же самое, только с «//» smybols вместо «#»? –

+1

@ BalázsOrbán: Используйте разные разделители, например. 'S =^// == '. – choroba