<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Linux Forum &mdash; Определить повторяющиеся строки]]></title>
		<link>https://linuxforum.ru/viewtopic.php?id=32778</link>
		<atom:link href="https://linuxforum.ru/extern.php?action=feed&amp;tid=32778&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Определить повторяющиеся строки».]]></description>
		<lastBuildDate>Sun, 22 Dec 2013 16:06:29 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Определить повторяющиеся строки]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=383862#p383862</link>
			<description><![CDATA[<div class="codebox"><pre><code>echo -e &#039;111 xxx\n222 yyy\n111 yyy\n333 zzz\n222 yyy&#039; | cat -n | sort -k2 | { z=&#039;&#039;;x=0; while read a b; do [ &quot;${b}&quot; != &quot;${z}&quot; ] &amp;&amp; echo -n -e &quot;\n${b}&quot;; echo -n &quot;:${a}&quot; ; z=&quot;${b}&quot;; done; }; echo</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (smaharbA)]]></author>
			<pubDate>Sun, 22 Dec 2013 16:06:29 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=383862#p383862</guid>
		</item>
		<item>
			<title><![CDATA[Re: Определить повторяющиеся строки]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=383449#p383449</link>
			<description><![CDATA[<div class="quotebox"><cite>allez пишет:</cite><blockquote><p>да еще просто и красиво</p></blockquote></div><p>ок. в данном случае<br /></p><div class="codebox"><pre><code>gu@moshell:~$ ./string file</code></pre></div><p>выглядит еще компактнее.</p><p>вы же не собираетесь тут выкладывать код для утилит? <img src="https://linuxforum.ru/img/smilies/ab.gif" alt="ab" /></p><div class="quotebox"><cite>allez пишет:</cite><blockquote><p>вопрошающая в условиях задачи ничего не оговаривала насчет сохранения порядка</p></blockquote></div><p>вот такое суждение влечет к плохому сопровождению кода<br /></p><div class="quotebox"><cite>allez пишет:</cite><blockquote><p>я не собирался и не собираюсь делать за студиозусов их задания целиком и полностью</p></blockquote></div><p>а мне нравится задачки решать. и людям помощь, и сам чего то новое находишь<br /></p><div class="quotebox"><cite>allez пишет:</cite><blockquote><p>в таких случаях выдаю &quot;быстрый и грязный&quot;, но работающий код, &quot;вылизывать&quot; который предоставляю самим студентам, чтобы они совсем уж не расслаблялись. <img src="https://linuxforum.ru/img/smilies/ab.gif" alt="ab" /></p></blockquote></div><p>тут согласен.</p>]]></description>
			<author><![CDATA[null@example.com (moshell)]]></author>
			<pubDate>Fri, 20 Dec 2013 14:17:49 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=383449#p383449</guid>
		</item>
		<item>
			<title><![CDATA[Re: Определить повторяющиеся строки]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=383446#p383446</link>
			<description><![CDATA[<div class="quotebox"><cite>-=Serj=- пишет:</cite><blockquote><p>Не знаток баша, но так проще, кажись) :</p></blockquote></div><div class="quotebox"><cite>moshell пишет:</cite><blockquote><p>весь ваш uniq и sort лесом идут, если нельзя менять порядок</p></blockquote></div><p>Может, и проще, может, и идут... Но, во-первых, вопрошающая в условиях задачи ничего не оговаривала насчет сохранения порядка, а во-вторых, я не собирался и не собираюсь делать за студиозусов их задания целиком и полностью, да еще просто и красиво. <img src="https://linuxforum.ru/img/smilies/ab.gif" alt="ab" /> Я, как правило, в таких случаях выдаю &quot;быстрый и грязный&quot;, но работающий код, &quot;вылизывать&quot; который предоставляю самим студентам, чтобы они совсем уж не расслаблялись. <img src="https://linuxforum.ru/img/smilies/ab.gif" alt="ab" /></p>]]></description>
			<author><![CDATA[null@example.com (allez)]]></author>
			<pubDate>Fri, 20 Dec 2013 14:04:40 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=383446#p383446</guid>
		</item>
		<item>
			<title><![CDATA[Re: Определить повторяющиеся строки]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=383445#p383445</link>
			<description><![CDATA[<p>весь ваш uniq и sort лесом идут, если нельзя менять порядок</p>]]></description>
			<author><![CDATA[null@example.com (moshell)]]></author>
			<pubDate>Fri, 20 Dec 2013 13:53:55 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=383445#p383445</guid>
		</item>
		<item>
			<title><![CDATA[Re: Определить повторяющиеся строки]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=383437#p383437</link>
			<description><![CDATA[<p>прошу прощения, с похмела то тяжко и работа отвлекает<br /></p><div class="codebox"><pre><code>gu@moshell:~$ cat string
#!/usr/bin/perl -w

use strict;

my %number;
my $number_string;
my @list;
my %repeat;
my @uniq;
my %seen;
while (&lt;&gt;) {
        $number_string++;
        chomp;
        $number{$_}++;
        push (@list, $_);
        $repeat{$_} .= &quot;  $number_string&quot;
}

foreach my $item ( @list ) {
        push( @uniq, $item) unless $seen{$item}++;
}

for ( @uniq ) {
        print &quot;The string : \&quot;&quot;, $_, &quot;\&quot; found &quot;, $number{$_}, &quot; time(s) at line &quot;, $repeat{$_}, &quot;\n&quot;;
}</code></pre></div><div class="codebox"><pre><code>gu@moshell:~$ cat file
aaa
bbb
ccc
aaa
bbb
aaa
aaa</code></pre></div><div class="codebox"><pre><code>gu@moshell:~$ ./string file
The string : &quot;aaa&quot; found 4 time(s) at line   1  4  6  7
The string : &quot;bbb&quot; found 2 time(s) at line   2  5
The string : &quot;ccc&quot; found 1 time(s) at line   3
gu@moshell:~$</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (moshell)]]></author>
			<pubDate>Fri, 20 Dec 2013 13:15:26 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=383437#p383437</guid>
		</item>
		<item>
			<title><![CDATA[Re: Определить повторяющиеся строки]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=383426#p383426</link>
			<description><![CDATA[<div class="quotebox"><cite>allez пишет:</cite><blockquote><p>echo &quot;Номера повторяющихся строк&quot;; sort file | uniq -d | while read line; do cat -n file | grep $line; done | sort -n | awk &#039;{print $1}&#039;;</p></blockquote></div><p>Не знаток баша, но так проще, кажись) :<br /></p><div class="codebox"><pre><code>$ for i in $(sort file.txt | uniq -d); do grep -n $i file.txt | cut -f1 -d:; done</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (-=Serj=-)]]></author>
			<pubDate>Fri, 20 Dec 2013 11:53:36 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=383426#p383426</guid>
		</item>
		<item>
			<title><![CDATA[Re: Определить повторяющиеся строки]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=383419#p383419</link>
			<description><![CDATA[<div class="codebox"><pre><code>$ cat -n file
     1  aaa
     2  bbb
     3  ccc
     4  ddd
     5  qqq
     6  aaa
     7  fff
     8  bbb
     9  sss
    10  ddd
    11  lll
    12  111
    13  rrr
    14  666
    15  ddd
    16  333
    17  ccc
    18  111
    19  ddd

echo &quot;Номера повторяющихся строк&quot;; sort file | uniq -d | while read line; do cat -n file | grep $line; done | sort -n | awk &#039;{print $1}&#039;; echo -e &quot;\nОтсортированный файл с удаленными повторами строк&quot;; sort -u file
Номера повторяющихся строк
1
2
3
4
6
8
10
12
15
17
18
19

Отсортированный файл с удаленными повторами строк
111
333
666
aaa
bbb
ccc
ddd
fff
lll
qqq
rrr
sss</code></pre></div><p>Тот же самый однострочник, но в более удобочитаемом виде:<br /></p><div class="codebox"><pre><code>echo &quot;Номера повторяющихся строк&quot;
sort file \
| uniq -d \
| while read line; 
do 
  cat -n file | grep $line
done | sort -n | awk &#039;{print $1}&#039;
echo -e &quot;\nОтсортированный файл с удаленными повторами строк&quot;
sort -u file</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (allez)]]></author>
			<pubDate>Fri, 20 Dec 2013 11:03:09 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=383419#p383419</guid>
		</item>
		<item>
			<title><![CDATA[Re: Определить повторяющиеся строки]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=383391#p383391</link>
			<description><![CDATA[<p>Насколько я помню, для uniq надо, чтобы повторяющмеся строки шли подряд,<br />т.е. файл должен быть отсортированным, так что нужен отдельный скрипт<br />и grep с опцией &quot;-n&quot; - выводить номера строк. Но сам я этого не делал.<br />Ещё есть comm для сравнения отсортированных файлов.</p><p>Пётр.</p>]]></description>
			<author><![CDATA[null@example.com (Peter)]]></author>
			<pubDate>Fri, 20 Dec 2013 08:13:58 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=383391#p383391</guid>
		</item>
		<item>
			<title><![CDATA[Определить повторяющиеся строки]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=383334#p383334</link>
			<description><![CDATA[<p>В заданном файле:<br />а) определить повторяющиеся строки, вывести их номера<br />б)оставить в файле только одну из повторяющихся строк</p><p>Помогите, пожалуйста, разобраться.</p><p>вот что получается :&nbsp; &nbsp; </p><div class="codebox"><pre><code>cat -n file.txt | sort | uniq -f 2 -d</code></pre></div><p>Объясните как нужно, пожалуйста.</p>]]></description>
			<author><![CDATA[null@example.com (natalia.nikiforowa)]]></author>
			<pubDate>Thu, 19 Dec 2013 22:02:22 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=383334#p383334</guid>
		</item>
	</channel>
</rss>
