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


Автор Тема: Как удалить строку с с точкой „.“ в начале?  (Прочитано 688 раз)

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

adawdp

  • Автор темы
  • Гость
2014 Nov 09; 04:56 AM

— Здр Все!
— Столкнулся с такой микропроблемой, с помощью sed пытаюсь удалить из файла все строки с точкой в начале. Если вместо точки стоит любой знак, то строка легко удаляется. Однако удалить строку с точкой в начале не получается.
— Вот такая команда почему-то не работает :(
Код: Text
  1. sed -i '^/\./d' file.txt
  2. sed -i "/^\./d" file.txt
  3. sed -i "/^\./ d" file.txt
  4.  
— „.“ регулярное выражение может как-то по другому нужно экранировать? Разные варианты с кавычками пробовал тоже не получается…

Оффлайн ivsatel

  • Активист
  • *
  • Сообщений: 333
    • Просмотр профиля
Re: Как удалить строку с с точкой „.“ в начале?
« Ответ #1 : 09 Ноябрь 2014, 13:14:11 »
adawdp,
sed 's/^[.]//' file.txt

adawdp

  • Автор темы
  • Гость
Re: Как удалить строку с с точкой „.“ в начале?
« Ответ #2 : 09 Ноябрь 2014, 14:53:12 »
— Спасибо, ivsatel, но что-то у меня не работает :(
Код: Text
  1. sed -i 's/^[.]//' 3pa3oK2_2014Nov09062420.txt
— Во вложении файл на котором пробовал…

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 1798
    • Просмотр профиля
Re: Как удалить строку с с точкой „.“ в начале?
« Ответ #3 : 09 Ноябрь 2014, 15:20:07 »
Попробуйет вот так:
egrep -v "^[.]" file.txt
Пётр.

adawdp

  • Автор темы
  • Гость
Re: Как удалить строку с с точкой „.“ в начале?
« Ответ #4 : 09 Ноябрь 2014, 15:43:14 »
2014 Nov 09; 07:42 AM

Peter_I, тоже нет :) !

Код: Text
  1. egrep -v "^[.]" 3pa3oK2_2014Nov09073458.txt > Nov09_0737_41.txt

— Может что-то с файлом? Но файл как файл … Во вложении выше… Может какой-то у меня всеобщий сбой в системе, тоже что-то не верится, на другие знаки ( не регулярные выражения) ведь команды реагируют!

Оффлайн absent

  • Активист
  • *
  • Сообщений: 368
  • Ubuntu 16.04
    • Просмотр профиля
Re: Как удалить строку с с точкой „.“ в начале?
« Ответ #5 : 09 Ноябрь 2014, 15:44:59 »
Сначала приведите переводы строк в файле к какому-то одному виду. А то там где-то 0a где-то 0d
а так я вижу, что в файле вообще нет строк, начинающихся с точки :)
01∗ .EXERCISE 14..
02∗ Listening.^M..
03∗ O Directions:..
04∗ Listen to each sentence and circle the verb you hear.^M..
05∗ 1..
06∗ play plays < (played)^M..

adawdp

  • Автор темы
  • Гость
Re: Как удалить строку с с точкой „.“ в начале?
« Ответ #6 : 09 Ноябрь 2014, 15:49:28 »
absent, точно! Файл то из Windows и не мой! Я просто забыл про это, символ окончания строки! Всё понятно, как говорит нынешняя молодёжь „затупил“ :) !
— Всем спасибо за участие, извините господа… Сделайте скидку на преклонные годы! :)

Оффлайн ArcFi

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 15194
    • Просмотр профиля
    • aetera.net
Re: Как удалить строку с с точкой „.“ в начале?
« Ответ #7 : 09 Ноябрь 2014, 20:54:41 »
Когда составляешь регулярку, полезно проверять невидимые символы:
od -c file
cat -A file

В случае приведённого файла всё лишнее можно убрать вот так:
sed -E 's/\r\.\ //;s/ $//;s/([[:punct:]])\.$/\1/' file

adawdp

  • Автор темы
  • Гость
Re: Как удалить строку с с точкой „.“ в начале?
« Ответ #8 : 11 Ноябрь 2014, 04:18:46 »
2014 Nov 10; 08:18 PM

ArcFi, Вам спасибо всегда! Я собираю такие готовые решения ибо к сожалению сам могу сочинить только простейшее… :(

 

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