<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>по стопам webkill&#039;а &#187; удаление повторов</title>
	<atom:link href="http://blog.lukmus.ru/tag/udalenie-povtorov/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.lukmus.ru</link>
	<description>это наш химический дом для печальных жителей Земли</description>
	<lastBuildDate>Sat, 21 Oct 2023 19:10:13 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>удаление повторов в файле</title>
		<link>http://blog.lukmus.ru/2010/06/17/udalenie-povtorov-v-fayle/</link>
		<comments>http://blog.lukmus.ru/2010/06/17/udalenie-povtorov-v-fayle/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 01:06:47 +0000</pubDate>
		<dc:creator>lukmus</dc:creator>
				<category><![CDATA[ruby & ruby on rails]]></category>
		<category><![CDATA[скрипты]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[удаление повторов]]></category>

		<guid isPermaLink="false">http://blog.lukmus.ru/?p=39</guid>
		<description><![CDATA[Опять же вернемся к нашему любимому файлу вида login:pass. Итак, у нас есть файл, где содержится бесконено много строк вида login:pass и нам надо удалить повторные строки. Ходят слухи, что реализация такой функции есть в Excel&#8217;е и его аналоге Calc&#8217;е, однако я ее не нашел (может быть плохо искал). Для того чтобы решить эту задачу, [...]]]></description>
			<content:encoded><![CDATA[<p>Опять же вернемся к нашему любимому файлу вида login:pass.</p>
<p>Итак, у нас есть файл, где содержится бесконено много строк вида login:pass и нам надо удалить повторные строки. Ходят слухи, что реализация такой функции есть в Excel&#8217;е и его аналоге Calc&#8217;е, однако я ее не нашел (может быть плохо искал).</p>
<p>Для того чтобы решить эту задачу, мне пришлось написать такой скромный скриптик, и снова на Ruby.<span id="more-39"></span></p>
<p>Скрипт:</p>
<blockquote><p>#!/usr/bin/ruby<br />
n=ARGV.size<br />
if n&lt;=0<br />
puts &#8220;Not enought arguments\n &lt;input file&gt; &lt;output file&gt; -[s] -[du]\n [-s] sort\n [-d] downcase\n [-u] upcase &#8221;<br />
exit<br />
end</p>
<p>infile=ARGV[0]<br />
if n&gt;1 and ARGV[1]!=&#8217;-s&#8217; and ARGV[1]!=&#8217;-d&#8217; and ARGV[1]!=&#8217;-u&#8217; then outfile=ARGV[1] else outfile=infile+&#8221;_out&#8221; end</p>
<p>i=0<br />
words=Array.new<br />
str=&#8221; &#8221;<br />
begin<br />
file=File.new(infile)<br />
puts &#8220;Read file #{infile}&#8230;&#8221;<br />
while str!=nil<br />
str=file.gets<br />
if str!=nil<br />
words[i]=str.to_s.chop<br />
i+=1<br />
end<br />
end<br />
file.close<br />
rescue =&gt; e<br />
puts &#8220;File read error:#{e}&#8221;<br />
exit<br />
end</p>
<p>if ARGV.include?&#8217;-d&#8217;<br />
puts &#8220;Downcase&#8230;&#8221;<br />
words.each {|x| x.downcase!}<br />
end</p>
<p>if ARGV.include?&#8217;-u&#8217;<br />
puts &#8220;Upcase&#8230;&#8221;<br />
words.each {|x| x.upcase!}<br />
end</p>
<p>puts &#8220;Delete repetitions&#8230;&#8221;<br />
words.uniq!</p>
<p>if ARGV.include?&#8217;-s&#8217;<br />
puts &#8220;Sort&#8230;&#8221;<br />
words.sort!<br />
end</p>
<p>puts &#8220;Create output file #{outfile}&#8230;&#8221;<br />
begin<br />
File.open(outfile,&#8221;w&#8221;) do |sfile|<br />
words.each {|x| sfile.puts x }<br />
end<br />
rescue =&gt; e<br />
puts &#8220;Create file error:#{e}&#8221;<br />
end</p></blockquote>
<p>На вход подаются такие параметры как:</p>
<ul>
<li>input file &#8211; входной файл</li>
<li>output file &#8211; имя выходного файла</li>
<li>ключ -s &#8211; сортировка</li>
<li>ключ -d &#8211; опустить регистр</li>
<li>ключ -u &#8211; поднять регистр</li>
</ul>
<p>Надеюсь не все знают эксель лучше меня и кто-нибудь воспользуется этим скриптом.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukmus.ru/2010/06/17/udalenie-povtorov-v-fayle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
