Автор Тема: Помощ за BASH  (Прочетена 1166 пъти)

XsPiDeR

  • Напреднали
  • *****
  • Публикации: 42
  • Distribution: CentOS 6
  • Window Manager: GNOME
    • Профил
    • WWW
Помощ за BASH
« -: May 02, 2009, 00:20 »
Здравейте,
Има ли някакъв начин от един файл, примерно с IP адреси които се повтарят
да се изкарат някак си тези повтарящите се само по веднъж.
Пример
ips.txt
192.168.0.1
192.168.0.1
192.168.0.3
192.168.0.3
192.168.0.3

И искам да испише следното след като grep/egrep/awk или по какъвто и да било
начин да излезе ип адреса само веднъж
192.168.0.1
192.168.0.3

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

LinuxFanUNIX

  • Напреднали
  • *****
  • Публикации: 408
  • Distribution: Slackware 12.2
  • Window Manager: KDE 3.5.10
    • Профил
Re: Помощ за BASH
« Отговор #1 -: May 02, 2009, 00:29 »
Това би могло да помогне, дори и да не е най-доброто решение:
Ако приемем че адресите са в /tmp/ip.txt
Код
GeSHi (Bash):
  1. mkdir /tmp/ip; for ip in `cat /tmp/ip.txt ` ; do touch /tmp/ip/$ip; done
  2. ls /tmp/ip/ > /tmp/ip.txt

Така ще стане.
Активен

manul

  • Напреднали
  • *****
  • Публикации: 16
    • Профил
Re: Помощ за BASH
« Отговор #2 -: May 02, 2009, 01:05 »
Решението на LinuxFanUnix е доста неефективно... пък и има допълнителни ограничения за символите и т.н.
Опитай така

Код
GeSHi (Bash):
  1. sort filename | uniq > filename.new
или
Код
GeSHi (Bash):
  1. sort -u filename > filename.new

също пробвай после
man sort
man uniq
 ;)
Активен

mitaka_g

  • Участници
  • ***
  • Публикации: 3
  • Distribution: Slackware
  • Window Manager: KDE
    • Профил
Re: Помощ за BASH
« Отговор #3 -: May 02, 2009, 01:08 »
Код
GeSHi (Bash):
  1. # cat ips.txt  |uniq -c|awk '{print $2}'
  2. 192.168.0.1
  3. 192.168.0.3
  4. # cat ips.txt
  5. 192.168.0.1
  6. 192.168.0.1
  7. 192.168.0.3
  8. 192.168.0.3
  9. 192.168.0.3
Активен

XsPiDeR

  • Напреднали
  • *****
  • Публикации: 42
  • Distribution: CentOS 6
  • Window Manager: GNOME
    • Профил
    • WWW
Re: Помощ за BASH
« Отговор #4 -: May 02, 2009, 01:45 »
Благодаря на всички. Това последното ми свърши добра работа.
Активен

DNAeon

  • Напреднали
  • *****
  • Публикации: 20
    • Профил
    • WWW
Re: Помощ за BASH
« Отговор #5 -: May 03, 2009, 12:38 »
А защо не просто така:
Код
GeSHi (Bash):
  1. sort -u <ips_file>

Като просто замениш <ips_file> с твоя файл с ИП-та ;)
Активен

http://www.freebsd.org/ - The Power to Serve!
http://www.unix-heaven.org/ - Spread the Knowledge!
http://www.daemonforums.org/ - Don't Panic!

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
BASH: Как да поддържам една програма работеща
Общ форум
Regia 1 9427 Последна публикация Feb 16, 2005, 08:51
от
bash
Настройка на програми
tuxi 7 4942 Последна публикация Jun 11, 2005, 19:12
от tuxi
Моля за малко помощ за BASH
Настройка на програми
bonbon 3 3707 Последна публикация Dec 04, 2005, 16:37
от bonbon
BASH
Общ форум
Dean79 3 3848 Последна публикация Jan 13, 2006, 00:24
от Dean79
Bash присвояване на стойност от файл
Общ форум
Pulear 6 4473 Последна публикация May 21, 2006, 17:20
от Pulear