<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: скриптец.. может пригодится кому...</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9727.html</link>
    <description>Здаров всем.:)&lt;br&gt;вот понадобилось сделать выборку мп3 файлов для заливки на плеер,&lt;br&gt;написал скриптик который переименовывает по порядку от 1 до ХХХ..n то что прочитает из указанного ему файла.&lt;br&gt;работает так:&lt;br&gt;./renall file leftname. .rightname.mp3&lt;br&gt;в результате если в file было:&lt;br&gt;/path/ooo asefw.la&lt;br&gt;/path/ooo wew.la&lt;br&gt;/path/sswew asefw.la&lt;br&gt;/path/123.la&lt;br&gt;это будет переименовано в:&lt;br&gt;/path/leftname.1.rightname.mp3&lt;br&gt;/path/leftname.2.rightname.mp3&lt;br&gt;/path/leftname.3.rightname.mp3&lt;br&gt;/path/leftname.4.rightname.mp3&lt;br&gt;#----------------------------------------&lt;br&gt;но облом в том что при выводе ls -la; или find ./ &amp;#124; sort; они выводятся не по порядку, т.е. так :&lt;br&gt;18.mp3&lt;br&gt;19.mp3&lt;br&gt;1.mp3&lt;br&gt;20.mp3&lt;br&gt;21.mp3&lt;br&gt;2.mp3&lt;br&gt;#-----------------------&lt;br&gt;вопрос как сделать чтоб выводился так:&lt;br&gt;1.mp3&lt;br&gt;2.mp3&lt;br&gt;18.mp3&lt;br&gt;19.mp3&lt;br&gt;20.mp3&lt;br&gt;21.mp3&lt;br&gt;#--------------------------------&lt;br&gt;сам скрипт:&lt;br&gt;#!/bin/bash&lt;br&gt;file=$1&lt;br&gt;left=$2&lt;br&gt;right=$3&lt;br&gt;char=&quot;1&quot;&lt;br&gt;&lt;br&gt;#echo &quot;TRAP_0&quot;&lt;br&gt;_go0()&#123;&lt;br&gt;if &#091; -e $file &#093;; then&lt;br&gt;end=&#096;cat $file &amp;#124; wc -l&#096;&lt;br&gt;&lt;br&gt;#---------------------------</description>

<item>
    <title>скриптец.. может пригодится кому... (ACCA)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9727.html#8</link>
    <pubDate>Wed, 04 Sep 2013 03:51:29 GMT</pubDate>
    <description>&amp;gt; почти доделал, все работает но хотел бы чтобы он автоматически определял сколько &lt;br&gt;&amp;gt; цифр использовать для имени. думаю сделать так: &lt;br&gt;&lt;br&gt;Overengineering detected.&lt;br&gt;&lt;br&gt;Вот смотри, переименовал ты один каталог файлов, насчитал и заюзал 2 цифры.&lt;br&gt;Завтра ты переименовывал другой каталог, в нём юзал 3 цифры.&lt;br&gt;&lt;br&gt;Послезавтра ты решил слить всё в кучу и опять получил кривую сортировку.&lt;br&gt;&lt;br&gt;Вломи 6 цифр и не морочь голову ни себе ни люд&#091;b&#093;я&#091;/b&#093;м.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>скриптец.. может пригодится кому... (pavlinux)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9727.html#7</link>
    <pubDate>Mon, 26 Aug 2013 20:28:11 GMT</pubDate>
    <description>&amp;gt; написал скриптик который переименовывает по порядку от 1 до ХХХ..n &lt;br&gt;&lt;br&gt;$ man rename;&lt;br&gt;$ man mmv (но оно не у всех есть)&lt;br&gt;&lt;br&gt;&amp;gt; почти доделал, все работает но хотел бы чтобы он автоматически определял сколько &lt;br&gt;&amp;gt; цифр использовать для имени. &lt;br&gt;&lt;br&gt;Количество цифр в числе равно количеству раз, которое можно делить на основание системы счисления.&lt;br&gt;&lt;br&gt;for ((x=311, k=0; x &amp;gt; 0; x=x/10)) do ((k++)); done;&lt;br&gt;</description>
</item>

<item>
    <title>скриптец.. может пригодится кому... (cmd4)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9727.html#6</link>
    <pubDate>Mon, 26 Aug 2013 16:54:18 GMT</pubDate>
    <description>УРАА! :)&lt;br&gt;слепил!&lt;br&gt;&lt;br&gt;рабочий вариант:&lt;br&gt;&lt;br&gt;#!/bin/bash&lt;br&gt;file=$1&lt;br&gt;left=$2&lt;br&gt;right=$3&lt;br&gt;char=&quot;1&quot;&lt;br&gt;&lt;br&gt;#echo &quot;TRAP_0&quot;&lt;br&gt;_go0()&#123;&lt;br&gt;if &#091; -e $file &#093;; then&lt;br&gt;end=&#096;cat $file &amp;#124; wc -l&#096;&lt;br&gt;endnum=&#096;printf $end &amp;#124; wc -c&#096;&lt;br&gt;&lt;br&gt;#------------------------------&lt;br&gt;string=&#096;sed -n $char&#092;p $file&#096;&lt;br&gt;str=&#096;echo $string&amp;#124; tr &apos;/&apos; &quot;&#092;n&quot; &amp;#124; tail -n1&#096;&lt;br&gt;outchar=$( printf &quot;&#037;0$endnum&quot;&quot;i&#037;s&quot; $char )&lt;br&gt;&lt;br&gt;echo  &quot;&#091;$string&#093;  to &quot; &quot;$left$outchar$right&quot;&lt;br&gt;rename &quot;$str&quot; &quot;$left$outchar$right&quot; &quot;$string&quot;&lt;br&gt;#echo &quot;$str&quot; &quot;$left$outchar$right&quot; &quot;$string&quot;&lt;br&gt;&lt;br&gt;while &#091; $char != $end &#093;;&lt;br&gt;do&lt;br&gt;char=$(( $char + 1))&lt;br&gt;string=&#096;sed -n $char&#092;p $file&#096;&lt;br&gt;str=&#096;echo $string&amp;#124; tr &apos;/&apos; &quot;&#092;n&quot; &amp;#124; tail -n1&#096;&lt;br&gt;outchar=$( printf &quot;&#037;0$endnum&quot;&quot;i&#037;s&quot; $char )&lt;br&gt;&lt;br&gt;echo  &quot;&#091;$string&#093;  to &quot; &quot;$left$outchar$right&quot;&lt;br&gt;rename &quot;$str&quot; &quot;$left$outchar$right&quot; &quot;$string&quot;&lt;br&gt;#echo &quot;$str&quot; &quot;$left$outchar$right&quot; &quot;$string&quot;&lt;br&gt;done&lt;br&gt;#------------------------------&lt;br&gt;&lt;br&gt;else&lt;br&gt;echo &quot; -=file not found.=-&#092;n&quot;&lt;br&gt;echo &quot;renall &#092;&quot;file&#092;&quot;  &#092;&quot;left pattern&#092;&quot; &#092;&quot;right pattern&#092;&quot;;&lt;br&gt;fi&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;if &#091; $right &#093;; then _go0&lt;br&gt;else&lt;br&gt;echo &quot;ren</description>
</item>

<item>
    <title>скриптец.. может пригодится кому... (cmd4)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9727.html#5</link>
    <pubDate>Mon, 26 Aug 2013 16:45:57 GMT</pubDate>
    <description>почти доделал, все работает но хотел бы чтобы он автоматически определял сколько цифр использовать для имени. думаю сделать так:&lt;br&gt;#--------------------------------&lt;br&gt;if &#091; -e $file &#093;; then&lt;br&gt;end=&#096;cat $file &amp;#124; wc -l&#096;               # узнаем сколько всего файлов, например 331&lt;br&gt;endnum=&#096;printf $end &amp;#124; wc -c&#096;          # узнаем сколько цифр в числе 331, т.е. выдаст &quot;3&quot;&lt;br&gt;&lt;br&gt;echo &quot;--------------&#091;$endnum&#093;-----------&quot;&lt;br&gt;test=$( printf &quot;&#037;05i&#037;s&quot; $char )       #вот тут количество цифр в выводе задано жестко&lt;br&gt;echo &quot;--------------&#091;$test&#093;-----------&quot;&lt;br&gt;test=$( printf &quot;&#037;???i&#037;s&quot; $char )      #как заменить &quot;05&quot; на переменную ?&lt;br&gt;&lt;br&gt;вариант test=$( printf &quot;&#037;$endnumi&#037;s&quot; $char ) не работает...&lt;br&gt;</description>
</item>

<item>
    <title>скриптец.. может пригодится кому... (cmd4)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9727.html#4</link>
    <pubDate>Mon, 26 Aug 2013 15:59:31 GMT</pubDate>
    <description>&amp;gt;Может, sort -n, --numeric-sort ?&lt;br&gt;&lt;br&gt;пробовал не получается.&lt;br&gt;#-----------------------&lt;br&gt;&amp;gt;использовать так - вместо&lt;br&gt;&amp;gt; string=&#096;sed -n $char&#092;p $file&#096;&lt;br&gt;&amp;gt;пиши&lt;br&gt;&amp;gt;string=$( printf &quot;i.&#037;s&quot; $cnt $file )&lt;br&gt;&lt;br&gt;вставил в скрипт - не получилось, пытается дать rename этy строку&lt;br&gt;001.00 leftright 001.00&lt;br&gt;но это то что надо.осталось только понять и переделать :) чем и займусь.&lt;br&gt;благодарю :)&lt;br&gt;#----------------------------------&lt;br&gt;&amp;gt; Вообще, когда создаете file, проще всего ls &amp;#124; sort -n &amp;gt; filename &lt;br&gt;&amp;gt; , ну или find . -type f &amp;#124; sort -n &amp;gt; &lt;br&gt;&amp;gt; filename.&lt;br&gt;&amp;gt; Или так: &lt;br&gt;&amp;gt;       mv &quot;$input&quot; &quot;$output&quot; &lt;br&gt;&lt;br&gt;создавать мне не нужно, и переименовывать через mv тоже, зачем перекидывать весь файл ради смены имени? , но может я и не понял чего, поэксперементирую с примером.&lt;br&gt;#------------------------------------&lt;br&gt;</description>
</item>

<item>
    <title>скриптец.. может пригодится кому... (erera22)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9727.html#3</link>
    <pubDate>Mon, 26 Aug 2013 14:48:14 GMT</pubDate>
    <description>Вообще, когда создаете file, проще всего ls &amp;#124; sort -n &amp;gt; filename , ну или find . -type f &amp;#124; sort -n &amp;gt; filename.&lt;br&gt;&lt;br&gt;Или так:&lt;br&gt;#!/bin/bash&lt;br&gt;&lt;br&gt;filename=&quot;$1&quot;&lt;br&gt;prefix=&quot;$2&quot;&lt;br&gt;postfix=&quot;$3&quot;&lt;br&gt;begin=1&lt;br&gt;&lt;br&gt;function _go0_exit&lt;br&gt;&#123;&lt;br&gt;   echo &quot;$1&quot;&lt;br&gt;   exit 1&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;function _go0&lt;br&gt;&#123;&lt;br&gt;   test -e &quot;$filename&quot; &amp;#124;&amp;#124; _go0_exit &quot;Error: content file was not found&quot;&lt;br&gt;   num=$begin&lt;br&gt;&lt;br&gt;   sort -n &quot;$filename&quot; &amp;#124; while read input&lt;br&gt;   do&lt;br&gt;      output=&quot;$prefix$num$postfix&quot;&lt;br&gt;      test ! -e &quot;$output&quot; -o -e &quot;input&quot; &amp;#124;&amp;#124; continue&lt;br&gt;&lt;br&gt;      echo &quot;&#091;$input&#093; to $output&quot;&lt;br&gt;      mv &quot;$input&quot; &quot;$output&quot;&lt;br&gt;&lt;br&gt;      let num=$num+1&lt;br&gt;   done&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;test $# -ge 3 &amp;#124;&amp;#124; _go0_exit &quot;Usage: $0 file prefix postfix&quot;&lt;br&gt;_go0&lt;br&gt;exit 0&lt;br&gt;&lt;br&gt;Тут порядок задания имен в файле не важен.&lt;br&gt;</description>
</item>

<item>
    <title>скриптец.. может пригодится кому... (ACCA)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9727.html#2</link>
    <pubDate>Sun, 25 Aug 2013 21:27:33 GMT</pubDate>
    <description>Вместо&lt;br&gt;&amp;gt; char=&quot;1&quot; &lt;br&gt;&lt;br&gt;сделай какой-нибудь&lt;br&gt;&#091;code&#093;&lt;br&gt;cnt=1&lt;br&gt;&#091;/code&#093;&lt;br&gt;&lt;br&gt;использовать так - вместо&lt;br&gt;&lt;br&gt;&amp;gt; string=&#096;sed -n $char&#092;p $file&#096; &lt;br&gt;&lt;br&gt;пиши&lt;br&gt;&#091;code&#093;&lt;br&gt;string=$( printf &quot;&#037;03i.&#037;s&quot; $cnt $file )&lt;br&gt;&#091;/code&#093;&lt;br&gt;</description>
</item>

<item>
    <title>скриптец.. может пригодится кому... (Raven77)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9727.html#1</link>
    <pubDate>Sun, 25 Aug 2013 18:22:49 GMT</pubDate>
    <description>Может, sort -n, --numeric-sort ?&lt;br&gt;</description>
</item>

</channel>
</rss>
