<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; проверка переменных.]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=31382&amp;type=atom" />
	<updated>2013-11-19T10:55:59Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=31382</id>
		<entry>
			<title type="html"><![CDATA[Re: проверка переменных.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=376826#p376826" />
			<content type="html"><![CDATA[<p>оно и так не интерактивное, а перловые модули мало зависимостей конечно же</p>]]></content>
			<author>
				<name><![CDATA[smaharbA]]></name>
				<uri>https://linuxforum.ru/profile.php?id=32462</uri>
			</author>
			<updated>2013-11-19T10:55:59Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=376826#p376826</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: проверка переменных.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=376808#p376808" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>smaharbA пишет:</cite><blockquote><p>в гнумерик входит конвертер</p></blockquote></div><p>Мне нужен неинтерактивный, консольный тул.<br />К тому же у гнумерик целый килограм зависимостей</p>]]></content>
			<author>
				<name><![CDATA[moshell]]></name>
				<uri>https://linuxforum.ru/profile.php?id=20870</uri>
			</author>
			<updated>2013-11-19T09:41:26Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=376808#p376808</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: проверка переменных.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=376292#p376292" />
			<content type="html"><![CDATA[<p>в гнумерик входит конвертер</p>]]></content>
			<author>
				<name><![CDATA[smaharbA]]></name>
				<uri>https://linuxforum.ru/profile.php?id=32462</uri>
			</author>
			<updated>2013-11-16T04:49:39Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=376292#p376292</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: проверка переменных.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=375590#p375590" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>moshell пишет:</cite><blockquote><p>октор, Вы как всегда выписываете рецепт после того как болезнь &quot;уходит&quot;.</p></blockquote></div><p>как увидел, так и прописал. Я рад, что вы вылечились и прочитали мануал.<br /></p><div class="quotebox"><cite>moshell пишет:</cite><blockquote><p>поставил perl, поставил Spreadsheet::ParseXLSX<br />и теперь как никогда просто прочитать данные прямо из маздайного xlsx файла.<br />и с русским шрифтом проблем нет, и &quot;несколькострочные&quot; ячейки поборол, в общем красота</p></blockquote></div><p>ну... молодец.</p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2013-11-12T18:09:09Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=375590#p375590</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: проверка переменных.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=375552#p375552" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Fat-Zer пишет:</cite><blockquote><p>хорошее время пересесть на перл...</p></blockquote></div><p>в итоге задрало меня постоянно бегать из портала маздай_to_линукс и обратно,<br />всяческие кодировки, перекодировки, символы новых строк и прочие шаманства.<br />поставил perl, поставил Spreadsheet::ParseXLSX<br />и теперь как никогда просто прочитать данные прямо из маздайного xlsx файла.<br />и с русским шрифтом проблем нет, и &quot;несколькострочные&quot; ячейки поборол, в общем красота <img src="https://linuxforum.ru/img/smilies/ab.gif" alt="ab" /><br />выводит поочередно все листы екселя в строчном виде, разделитель ячеек &quot;;&quot;, разделитель несколькострочных ячеек символ &quot;::&quot; (мне так удобно)<br />кстати если почитать ман к модулю, данная штуковинища умеет работать еще много с чем в xlsx файлах. <br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>#!/usr/bin/perl -w</p><p>use strict;<br />use Spreadsheet::ParseXLSX;<br />use Spreadsheet::ParseExcel::Cell;</p><p>binmode(STDOUT,&#039;:utf8&#039;);</p><p>my $filename = $ARGV[0] or die &quot;Must specify filename to parse.\n&quot;;<br />my $parser = Spreadsheet::ParseXLSX-&gt;new;<br />my $workbook = $parser-&gt;parse( $filename );</p><br /><p>if ( !defined $workbook ) {<br />&nbsp; &nbsp; &nbsp; &nbsp; die $parser-&gt;error(), &quot;.\n&quot;;<br />}</p><p>for my $worksheet ( $workbook-&gt;worksheets() ) {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; my ( $row_min, $row_max ) = $worksheet-&gt;row_range();<br />&nbsp; &nbsp; &nbsp; &nbsp; my ( $col_min, $col_max ) = $worksheet-&gt;col_range();</p><p>&nbsp; &nbsp; &nbsp; &nbsp; for my $row ( $row_min .. $row_max ) { #от минимального значения row_min до максимального row_max (строки)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for my $col ( $col_min .. $col_max ) {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; my $cell = $worksheet-&gt;get_cell( $row, $col );<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; next unless $cell;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; my $string = $cell-&gt;value();<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $string =~ tr/\n/::/;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; print $string,&quot;;&quot;;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />&nbsp; &nbsp; &nbsp; &nbsp; print &quot;\n&quot;;<br />&nbsp; &nbsp; &nbsp; &nbsp; }<br />}</p></div></div><p>кому надо - забирайте,<br />зуб даю, нет тут никакого патча Бармина</p>]]></content>
			<author>
				<name><![CDATA[moshell]]></name>
				<uri>https://linuxforum.ru/profile.php?id=20870</uri>
			</author>
			<updated>2013-11-12T16:47:38Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=375552#p375552</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: проверка переменных.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=374036#p374036" />
			<content type="html"><![CDATA[<p>Доктор, Вы как всегда выписываете рецепт после того как болезнь &quot;уходит&quot;.<br />Так и хроническую заболеванию не долго получить.</p>]]></content>
			<author>
				<name><![CDATA[moshell]]></name>
				<uri>https://linuxforum.ru/profile.php?id=20870</uri>
			</author>
			<updated>2013-11-06T05:21:45Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=374036#p374036</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: проверка переменных.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=373360#p373360" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>moshell пишет:</cite><blockquote><p>не знаю чего то почему не катит.<br />&quot;\&lt;[0-9]-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{4\}\&gt;&quot;</p></blockquote></div><p>в мане английским по по чёрному написано <strong>extended regular expression</strong></p><p>Это значит, что &lt; надо&nbsp; слешем экранировать, а вот { НЕ НУЖНО. Иначе она как { работает.</p><p>Но я не знаю, ЧТО ты понимаешь под &lt; ? Если под &quot;&lt;&quot; ты понимаешь &quot;левая граница слова&quot;, то её НАДО экранировать, иначе НЕ НУЖНО. В любых RE.</p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2013-11-03T09:01:38Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=373360#p373360</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: проверка переменных.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=373355#p373355" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>moshell пишет:</cite><blockquote><p>if [ var =~ $REGEX ] ...<br />не работает</p></blockquote></div><p>УМВР. Покажи команду целиком.</p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2013-11-03T08:56:23Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=373355#p373355</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: проверка переменных.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=373354#p373354" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>moshell пишет:</cite><blockquote><p>да я уже понял. с двумя кстати тоже. я множество вариантов перепробовал. даже те что не описаны в mane (небесной)</p></blockquote></div><p>потому-что думать надо головой, а не перлом. УМВР, например проверка того, что в $X только цифры и пробелы:<br /></p><div class="codebox"><pre><code>$ REGEX=&quot;^[0-9 ]+$&quot;; [[ &quot;$X&quot; =~ $REGEX ]]; echo $?
0</code></pre></div><p>0 -- истинно<br />1 -- ложно<br />2 -- кривое регулярное выражение</p><p>Сам попробуй, это работает с любыми регулярками.</p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2013-11-03T08:54:59Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=373354#p373354</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: проверка переменных.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=373189#p373189" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Fat-Zer пишет:</cite><blockquote><div class="quotebox"><cite>moshell пишет:</cite><blockquote><p>if [ var =~ $REGEX ] ...не работает</p></blockquote></div><p>во-первых, там должно быть две [[<br />во-вторых, я уже говорил, что там это криво сделано т.е. должна быть именно переменная $REGEX, а не строка...</p></blockquote></div><p>да я уже понял. с двумя кстати тоже. я множество вариантов перепробовал. даже те что не описаны в mane (небесной)</p><p>в общем забиваю на баш. потихонечку учу perl<br />а в нем и &quot;sed&quot;, и awk...<br />и grep более продвинутый!</p>]]></content>
			<author>
				<name><![CDATA[moshell]]></name>
				<uri>https://linuxforum.ru/profile.php?id=20870</uri>
			</author>
			<updated>2013-11-01T18:34:58Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=373189#p373189</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: проверка переменных.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=373074#p373074" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>moshell пишет:</cite><blockquote><p>if [ var =~ $REGEX ] ...не работает</p></blockquote></div><p>во-первых, там должно быть две [[<br />во-вторых, я уже говорил, что там это криво сделано т.е. должна быть именно переменная $REGEX, а не строка...</p>]]></content>
			<author>
				<name><![CDATA[Fat-Zer]]></name>
				<uri>https://linuxforum.ru/profile.php?id=11911</uri>
			</author>
			<updated>2013-11-01T08:59:47Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=373074#p373074</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: проверка переменных.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=372808#p372808" />
			<content type="html"><![CDATA[<p>без regexp нельзя.<br />может быть <br />2-40-28-1991, а может быть <br />8-81-00-2013</p><p>if [ var =~ $REGEX ] ...<br />не работает</p><p>GNU bash, version 4.2.37(1)-release (i486-pc-linux-gnu)</p>]]></content>
			<author>
				<name><![CDATA[moshell]]></name>
				<uri>https://linuxforum.ru/profile.php?id=20870</uri>
			</author>
			<updated>2013-10-31T06:10:42Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=372808#p372808</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: проверка переменных.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=372729#p372729" />
			<content type="html"><![CDATA[<p>if [ var =~ $REGEX ] ...</p><p>но вообще, если можно избежать регекса, то лучше это сделать.</p>]]></content>
			<author>
				<name><![CDATA[dyasny]]></name>
				<uri>https://linuxforum.ru/profile.php?id=23772</uri>
			</author>
			<updated>2013-10-30T16:56:19Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=372729#p372729</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: проверка переменных.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=372727#p372727" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Fat-Zer пишет:</cite><blockquote><p>время пересесть на перл...</p></blockquote></div><p>уже в процессе, кстати.</p>]]></content>
			<author>
				<name><![CDATA[moshell]]></name>
				<uri>https://linuxforum.ru/profile.php?id=20870</uri>
			</author>
			<updated>2013-10-30T16:47:06Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=372727#p372727</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: проверка переменных.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=372722#p372722" />
			<content type="html"><![CDATA[<p>посмотри на оператор <strong>=~</strong> в <strong>man bash</strong>.<br />Но ЕМНИП работает он кривовато...</p><p>ИМХО если таких проверок будет очень много, то это хорошее время пересесть на перл...</p>]]></content>
			<author>
				<name><![CDATA[Fat-Zer]]></name>
				<uri>https://linuxforum.ru/profile.php?id=11911</uri>
			</author>
			<updated>2013-10-30T16:34:12Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=372722#p372722</id>
		</entry>
</feed>
