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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Как изменить команду Terminal Perl  (Прочитано 782 раз)

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

Оффлайн SweetSoft

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Как изменить команду Terminal Perl
« : 02 Июля 2015, 14:51:06 »
grep -P '^\w{8,}' исходный файл.txt > редактированный.txt
Удаляет строки меньше 8 символов, а как изменить ее чтобы удалить строки больше 7 символов?

Оффлайн accipiter

  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
Re: Как изменить команду Terminal Perl
« Ответ #1 : 02 Июля 2015, 15:26:33 »
Можно просто инвертировать.
grep --invert-match

Оффлайн SweetSoft

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Как изменить команду Terminal Perl
« Ответ #2 : 02 Июля 2015, 15:32:19 »
Можно просто инвертировать.
grep --invert-match
Можно поподробнее, мне нужно для одного файла удалить больше n.
А для другого меньше n, что уже сделал.

Пользователь решил продолжить мысль 02 Июля 2015, 16:46:13:
grep -P '^\w{8,}' исходный файл.txt > редактированный.txt
Удаляет строки меньше 8 символов, а как изменить ее чтобы удалить строки больше 7 символов?
Почитал о регулярных выражениях в Perl тут http://citforum.ru/internet/perl_tut/re.shtml
Но команда такого типа не работает
grep -P '^\w{1,7}' исходный файл.txt > редактированный.txt
« Последнее редактирование: 02 Июля 2015, 16:46:13 от SweetSoft »

Оффлайн accipiter

  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
Re: Как изменить команду Terminal Perl
« Ответ #3 : 02 Июля 2015, 18:13:54 »
Можно просто инвертировать.
grep --invert-match
Можно поподробнее, мне нужно для одного файла удалить больше n.
grep --invert-match -P '^\w{8,}' исходный файл.txt > редактированный.txtили
grep -v -P '^\w{8,}' исходный файл.txt > редактированный.txt
Удаляет строки длиннее 8 символов.

Оффлайн SweetSoft

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Как изменить команду Terminal Perl
« Ответ #4 : 02 Июля 2015, 18:45:33 »
Можно просто инвертировать.
grep --invert-match
Можно поподробнее, мне нужно для одного файла удалить больше n.
grep --invert-match -P '^\w{8,}' исходный файл.txt > редактированный.txtили
grep -v -P '^\w{8,}' исходный файл.txt > редактированный.txt
Удаляет строки длиннее 8 символов.
Спасибо, очень выручили =)

 

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