заменить начальные цифры

У меня есть контент, как указано ниже.

2                                        -
2                                       1.0
2 10.
2 11.
2 12. Groover MP, Fundamentos de Manufactura Moderna, Tercera ed., Mc Graw Hill, México DF, 2007, pp.

Я хочу заменить цифры, начинающиеся со строки. мой ожидаемый результат, как показано ниже. используя команду sed.

2::                                        -
2::                                       1.0
2::10.
2::11.
2::12. Groover MP, Fundamentos de Manufactura Moderna, Tercera ed., Mc Graw Hill, México DF, 2007, pp.
0
задан 19 May 2016 в 12:41

3 ответа

Можно сделать это как это:

sed -i 's/^2\ /2::/' file.txt

Это заменит начало каждой строки 2 с 2:: и обратная запись его во входной файл.

1
ответ дан 19 May 2016 в 22:41
  • 1
    Спасибо за предложение, @egmont. Я действительно заканчивал тем, что переключился на tmux. Чтобы заставить все работать, я должен был изменить ТЕРМИН тип от ' screen' к ' xterm-color'. It' s не рекомендуемый от того, что я считал в документах, но это работает отлично. Путем меньше багги, чем экран. Только вещь I действительно don' t как экран, имел явные параметры командной строки для идентификации себя как терминал по Вашему выбору. Ни один из официально поддерживаемых подходов не работал универсально. Возможно, I' m пропускающий некоторую функцию (функции) tmux I don' t использование. Но все, кажется, работает. Точно так же, как простая оболочка, но персистентные сессии! Любите его. – jdmayfield 19 January 2018 в 22:29

Я сделал вещи при помощи следующей команды. Я хочу заменить 1-е пространство::

команда, которую я использовал, как givevn ниже

sed 's/ /::/' filename >outfile
1
ответ дан 19 May 2016 в 22:41
  • 1
    Я вижу DEBIAN_FRONTEND=noninteractive наиболее часто используемый в Dockerfiles. Этот ответ заставляет меня задаться вопросом почему мы просто don' t используют эти --yes флаг со способными командами как it' ll быть более явным и в большинстве случаев it' ll удовлетворяют наши потребности. – Dennis 5 December 2018 в 07:28

Можно использовать

sed -e 's/[[:space:]]/::/'

, Это заменит первый пробел в каждой строке с ::

0
ответ дан 19 May 2016 в 22:41
  • 1
    @Dennis я думаю it' s, потому что readline не обязательно установлен и склонный, может произвести предупреждение как таковое. – hayd 6 January 2019 в 14:32

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

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