Автор Тема: изключване на повтарящи думи в текст.  (Прочетена 835 пъти)

nov_chovek

  • Напреднали
  • *****
  • Публикации: 536
  • Distribution: Ubuntu 8.10 по принуда
  • Window Manager: Gnome
    • Профил
    • WWW
Здравейте.
Трабва да направя следното. Имам текст във файл. Първо да подредя всяка дума на нов ред и второ да направя така, че всяка следваща дума която се повтаря да бъде изтрита от този смисък от текста.

Няма значение дали със скрипт ще го правя или някак си на ръка. Моля Помогнете ми , защото немога.

Мислех си че поне слагането на нов ред ще е лесно - просто с мцедит ще заменя интервалите с нов ред. но незнам знака за нов ред, който разпознава мц (и абиуърд не познава просто Ентер).

НЕка който може ми даде идея.

Благодаря
Активен

nov_chovek

  • Напреднали
  • *****
  • Публикации: 536
  • Distribution: Ubuntu 8.10 по принуда
  • Window Manager: Gnome
    • Профил
    • WWW
изключване на повтарящи думи в текст.
« Отговор #1 -: Apr 22, 2007, 19:08 »
новия ред го оправих с това:

sed -e 's/ /\n/g' begin.txt > end.txt

остава неволята с изтриването на повтарящите се думи '<img'>
Активен

nov_chovek

  • Напреднали
  • *****
  • Публикации: 536
  • Distribution: Ubuntu 8.10 по принуда
  • Window Manager: Gnome
    • Профил
    • WWW
изключване на повтарящи думи в текст.
« Отговор #2 -: Apr 22, 2007, 19:28 »
Нищо, че сам си говоря, но на някой може да му е полезно все пак '<img'>

tr -sc 'A-Za-z' '\012' < text.txt | sort | uniq -ciu

а за текст съдържащ и кирилица:

tr -sc 'А-Яа-яA-Za-z' '\012' < genesis | sort | uniq -ciu  


Поздрави на всички '<img'>)
Активен

radoulov

  • Напреднали
  • *****
  • Публикации: 116
    • Профил
изключване на повтарящи думи в текст.
« Отговор #3 -: Apr 23, 2007, 11:04 »
GNU Awk версия (тъй-като сме на Linux и можем да си позволим този лукс  :o)):

Примерен код
awk 'NF&&!x[$0]++' RS="[ \n]" inputfile
Активен