Я не могу получить самую основную команду sed для выполнения в командной строке

Вот глупое простое приложение, которое имеет окно конфигурации, главное окно и индикатор приложения.

#!/usr/bin/env python3.3

from gi.repository import Gtk
from gi.repository import AppIndicator3 as appindicator

class MyIndicator:
  def __init__(self, root):
    self.app = root
    self.ind = appindicator.Indicator.new(
                self.app.name,
                "indicator-messages",
                appindicator.IndicatorCategory.APPLICATION_STATUS)
    self.ind.set_status (appindicator.IndicatorStatus.ACTIVE)
    self.menu = Gtk.Menu()
    item = Gtk.MenuItem()
    item.set_label("Main Window")
    item.connect("activate", self.app.main_win.cb_show, '')
    self.menu.append(item)

    item = Gtk.MenuItem()
    item.set_label("Configuration")
    item.connect("activate", self.app.conf_win.cb_show, '')
    self.menu.append(item)

    item = Gtk.MenuItem()
    item.set_label("Exit")
    item.connect("activate", self.cb_exit, '')
    self.menu.append(item)

    self.menu.show_all()
    self.ind.set_menu(self.menu)

  def cb_exit(self, w, data):
     Gtk.main_quit()

class MyConfigWin(Gtk.Window):
  def __init__(self, root):
    super().__init__()
    self.app = root
    self.set_title(self.app.name + ' Config Window')

  def cb_show(self, w, data):
    self.show()

class MyMainWin(Gtk.Window):
  def __init__(self, root):
    super().__init__()
    self.app = root
    self.set_title(self.app.name)

  def cb_show(self, w, data):
    self.show()

class MyApp(Gtk.Application):
  def __init__(self, app_name):
    super().__init__()
    self.name = app_name
    self.main_win = MyMainWin(self)
    self.conf_win = MyConfigWin(self)
    self.indicator = MyIndicator(self)

  def run(self):
    Gtk.main()

if __name__ == '__main__':
  app = MyApp('Scaffold')
  app.run()
5
задан 22 April 2012 в 16:34

2 ответа

Попробуйте следующее: sed 's/foo/bar/' textfile.

Цитаты вокруг утверждения являются хорошей практикой s для замены. Это команда, которую вы хотите выполнить. foo является поисковым термином bar замены.

В sed много информации. Например: http://www.catonmat.net/blog/sed-one-liners-explained-part-one/

8
ответ дан 25 May 2018 в 12:30

Вам нужно дать команду sed; он проанализировал то, что вы дали ему в качестве шаблона поиска /foo/, за которым следует команда b ar/ (ответвление на метку ar/). Вероятно, вы имели в виду 's / foo / bar /', означающий замену первого экземпляра foo на bar в каждой строке.

2
ответ дан 25 May 2018 в 12:30

Другие вопросы по тегам:

Похожие вопросы: