<?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-lishnego-stolbtsa/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-stolbtsa-iz-teksta/</link>
		<comments>http://blog.lukmus.ru/2010/06/17/udalenie-stolbtsa-iz-teksta/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 00:56:16 +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=35</guid>
		<description><![CDATA[В общем дело в том что, иногда возникает такая проблема: попадается вам какой-нибудь текстовый файл, ну навскидку скажем, содержащий кучу записей вида login:date:ip:pass, а вам нужно сделать файлик вида login:pass. Как с этим справится используя MS или Open Office и другие текстовые редакторы, по крайней мере, я незнаю. Поэтому пришлось написать такой малюсенький скриптик на [...]]]></description>
			<content:encoded><![CDATA[<p>В общем дело в том что, иногда возникает такая проблема: попадается вам какой-нибудь текстовый файл, ну навскидку скажем, содержащий кучу записей вида login:date:ip:pass, а вам нужно сделать файлик вида login:pass. Как с этим справится используя MS или Open Office и другие текстовые редакторы, по крайней мере, я незнаю. Поэтому пришлось написать такой малюсенький скриптик на моем любимом Ruby.</p>
<p>Собственно скрипт удаляет лишний столбец из  файла.<span id="more-35"></span></p>
<p>На вход  подаются такие значения:</p>
<ul>
<li>infile &#8211; входной файл (файл из которого следует удалить лишний столбец)</li>
<li>number of dead row &#8211; номер лишнего столбца, нумерация с нуля</li>
<li>divider &#8211; разделитель между столбцами</li>
<li>outfile &#8211; выходной файл</li>
<li>ключ -s &#8211; включает сортировку</li>
</ul>
<p>Вот сам код:</p>
<blockquote><p>#!/usr/bin/ruby</p>
<p>if ARGV.size&lt;2 or ARGV.size&gt;5<br />
puts &#8220;Not enought arguments\n&lt;infile&gt; &lt;number of dead row&gt; [&lt;divider&gt; [&lt;outfile&gt; [-s]]]&#8221;<br />
puts &#8220;default &lt;divider&gt; is blank \&#8217; \&#8217;&#8221;<br />
puts &#8220;default &lt;outfile&gt; is &lt;infile&gt; + \&#8217;_out\&#8217;&#8221;<br />
exit<br />
end<br />
$infile=ARGV[0]<br />
$deadrow=ARGV[1].to_i</p>
<p>if ARGV.size&gt;=3 then $divider=ARGV[2] else $divider=&#8217; &#8216; end<br />
if ARGV.size&gt;=4 then $outfile=ARGV[3] else $outfile=&#8221;#{$infile}_out&#8221; end<br />
if ARGV.size&gt;=5 and ARGV[4]==&#8217;-s&#8217; then $show=true else $show=false end<br />
str=&#8221;</p>
<p>begin<br />
file=File.new($infile,&#8221;r&#8221;)<br />
rescue =&gt; e<br />
puts &#8220;Can&#8217;t read file #{$infile}:#{e}&#8221;<br />
exit<br />
end</p>
<p>begin<br />
nfile=File.new($outfile,&#8221;w&#8221;)<br />
rescue =&gt; e<br />
puts &#8220;Can&#8217;t create file #{$outfile}:#{e}&#8221;<br />
exit<br />
end</p>
<p>nums=0<br />
while str!=nil<br />
str=file.gets<br />
if str!=nil<br />
nums+=1<br />
begin<br />
nstr=str.split($divider)<br />
nstr.delete_at($deadrow)<br />
nstr=nstr.join($divider)<br />
rescue =&gt; e<br />
puts &#8220;Line #{nums}:#{e}&#8221;<br />
end<br />
if $show then puts nstr end<br />
nfile.puts nstr<br />
end<br />
end</p>
<p>nfile.close<br />
file.close</p></blockquote>
<p>По умолчанию разделителем является пробел, а имя выходного файла формируется путем прибавления к имени входного _out.</p>
<p>Ну вот и все, надеюсь он кому-нибудь пригодится.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukmus.ru/2010/06/17/udalenie-stolbtsa-iz-teksta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
