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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: sed - вставка точки за несколько символов до конца строки  (Прочитано 777 раз)

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

Оффлайн Vasilliy

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Приветствую коллеги. Уже всю голову сломал. есть числа
12345
123456
12345678
и вот на выходе должно получиться
12.345
123.456
12345.678
то есть за три символа до конца строки нужно вставить точку, независимо от ддлинны строки. Спасибо

Оффлайн aSmile

  • Активист
  • *
  • Сообщений: 752
    • Просмотр профиля
Если в каждой строке точно больше 3 цифр, то примерно так
Код: (bash) [Выделить]
sed -i -e 's|[[:digit:]]\{3\}$|.&|g' твой_файл

Оффлайн Vasilliy

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Если в каждой строке точно больше 3 цифр, то примерно так
Код: (bash) [Выделить]
sed -i -e 's|[[:digit:]]\{3\}$|.&|g' твой_файл

Огромное спасибо, буду разбираться как работает эта конструкция)

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 2408
    • Просмотр профиля
aSmile, А можно '|" вместо '/'? И лучше с "-r".
Пётр.

Оффлайн qpdb

  • Активист
  • *
  • Сообщений: 254
  • xUbuntu 20.04
    • Просмотр профиля
aSmile, А можно '|" вместо '/'?

Да там многое можно, уже забыл, по-моему указано, только что нельзя…

sed "s:\(.*\)/.*:\1:" #удалить всё после последнего „/” и его
Запятые точно можно, @ и # тоже… Я вообще чаще „:” использую, нравится…


 

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