<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.slacky.eu/wikislack/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
		<id>http://www.slacky.eu/wikislack/index.php?title=Sostituzioni_ricorsive_di_regexp&amp;feed=atom&amp;action=history</id>
		<title>Sostituzioni ricorsive di regexp - Cronologia</title>
		<link rel="self" type="application/atom+xml" href="http://www.slacky.eu/wikislack/index.php?title=Sostituzioni_ricorsive_di_regexp&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/wikislack/index.php?title=Sostituzioni_ricorsive_di_regexp&amp;action=history"/>
		<updated>2013-05-25T02:01:09Z</updated>
		<subtitle>Cronologia della pagina su questo sito</subtitle>
		<generator>MediaWiki 1.20.3</generator>

	<entry>
		<id>http://www.slacky.eu/wikislack/index.php?title=Sostituzioni_ricorsive_di_regexp&amp;diff=4331&amp;oldid=prev</id>
		<title>Slacky il 15:31, 21 ott 2007</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/wikislack/index.php?title=Sostituzioni_ricorsive_di_regexp&amp;diff=4331&amp;oldid=prev"/>
				<updated>2007-10-21T15:31:58Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Versione meno recente&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Versione delle 15:31, 21 ott 2007&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 2:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 2:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt; &lt;/td&gt;
  &lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Descrizione =&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt; &lt;/td&gt;
  &lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Descrizione =&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt; &lt;/td&gt;
  &lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Script che sostituisce _ricorsivamente_ tutte le occorrenze della regexp passata come primo parametro con la regexp passata come secondo parametro, a partire dalla dir attuale o da quella specificata come terzo parametro.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt; &lt;/td&gt;
  &lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Script che sostituisce _ricorsivamente_ tutte le occorrenze della regexp passata come primo parametro con la regexp passata come secondo parametro, a partire dalla dir attuale o da quella specificata come terzo parametro.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Download =&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;http://www.slacky.eu/misto/concorso/g4b0/subst.sh&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt; &lt;/td&gt;
  &lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Script =&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt; &lt;/td&gt;
  &lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Script =&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt; &lt;/td&gt;
  &lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt; &lt;/td&gt;
  &lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Slacky</name></author>	</entry>

	<entry>
		<id>http://www.slacky.eu/wikislack/index.php?title=Sostituzioni_ricorsive_di_regexp&amp;diff=4330&amp;oldid=prev</id>
		<title>Slacky il 15:26, 21 ott 2007</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/wikislack/index.php?title=Sostituzioni_ricorsive_di_regexp&amp;diff=4330&amp;oldid=prev"/>
				<updated>2007-10-21T15:26:18Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nuova pagina&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Script]]&lt;br /&gt;
= Descrizione =&lt;br /&gt;
Script che sostituisce _ricorsivamente_ tutte le occorrenze della regexp passata come primo parametro con la regexp passata come secondo parametro, a partire dalla dir attuale o da quella specificata come terzo parametro.&lt;br /&gt;
= Script =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#&lt;br /&gt;
# Script che sostituisce _ricorsivamente_ tutte le occorrenze della regexp passata come&lt;br /&gt;
# primo parametro con la regexp passata come secondo parametro, a partire&lt;br /&gt;
# dalla dir attuale o da quella specificata come terzo parametro&lt;br /&gt;
#&lt;br /&gt;
# developer: g4b0 aka Gabriele Brosulo&lt;br /&gt;
#            gabriele [dot] brosulo [at] gmail [dot] com&lt;br /&gt;
#&lt;br /&gt;
# esempio di utilizzo:&lt;br /&gt;
#&lt;br /&gt;
# g4b0@slack:~/sys/script/test$ tree .&lt;br /&gt;
# .&lt;br /&gt;
# |-- 1.txt&lt;br /&gt;
# |-- 2.txt&lt;br /&gt;
# `-- test2&lt;br /&gt;
#     `-- 3.txt&lt;br /&gt;
# &lt;br /&gt;
# 1 directory, 3 files&lt;br /&gt;
# g4b0@slack:~/sys/script/test$ more 1.txt&lt;br /&gt;
# pippo&lt;br /&gt;
# pippa&lt;br /&gt;
# pappo&lt;br /&gt;
# pluto&lt;br /&gt;
# &lt;br /&gt;
# g4b0@slack:~/sys/script/test$ more 2.txt&lt;br /&gt;
# pippo&lt;br /&gt;
# pippa&lt;br /&gt;
# pappo&lt;br /&gt;
# pluto&lt;br /&gt;
# &lt;br /&gt;
# g4b0@slack:~/sys/script/test$ more test2/3.txt&lt;br /&gt;
# pippo&lt;br /&gt;
# pippa&lt;br /&gt;
# pappo&lt;br /&gt;
# pluto&lt;br /&gt;
# &lt;br /&gt;
# g4b0@slack:~/sys/script/test$ cd ..&lt;br /&gt;
# g4b0@slack:~/sys/script$ ./subst.sh p.ppo pappa test&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
# ******************************&lt;br /&gt;
# &lt;br /&gt;
#  Ora sono in: /home/g4b0/sys/script&lt;br /&gt;
# &lt;br /&gt;
# Num par: 3&lt;br /&gt;
# Comando: ./subst.sh&lt;br /&gt;
# Old regexp: p.ppo&lt;br /&gt;
# New Regexp: pappa&lt;br /&gt;
# Dir: test&lt;br /&gt;
# &lt;br /&gt;
# ******************************&lt;br /&gt;
# &lt;br /&gt;
# Continue? (yes/no)&lt;br /&gt;
# yes&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
# Num par: 3&lt;br /&gt;
# ./subst.sh&lt;br /&gt;
# p.ppo&lt;br /&gt;
# pappa&lt;br /&gt;
# test&lt;br /&gt;
# &lt;br /&gt;
# directory root: test&lt;br /&gt;
# &lt;br /&gt;
#         Processo il file: 1.txt&lt;br /&gt;
#         Processo il file: 2.txt&lt;br /&gt;
# &lt;br /&gt;
# *************&lt;br /&gt;
# Entro dentro a: test/test2&lt;br /&gt;
# *************&lt;br /&gt;
# Num par: 3&lt;br /&gt;
# ./subst.sh&lt;br /&gt;
# p.ppo&lt;br /&gt;
# pappa&lt;br /&gt;
# test2&lt;br /&gt;
# &lt;br /&gt;
# directory root: test2&lt;br /&gt;
# &lt;br /&gt;
# ./subst.sh: line 28: cd: test2: No such file or directory&lt;br /&gt;
#         Processo il file: 3.txt&lt;br /&gt;
# &lt;br /&gt;
# *************&lt;br /&gt;
# Esco da a: test2/3.txt&lt;br /&gt;
# *************&lt;br /&gt;
# g4b0@slack:~/sys/script$ cd test&lt;br /&gt;
# g4b0@slack:~/sys/script/test$ more 1.txt&lt;br /&gt;
# pappa&lt;br /&gt;
# pippa&lt;br /&gt;
# pappa&lt;br /&gt;
# pluto&lt;br /&gt;
# &lt;br /&gt;
# g4b0@slack:~/sys/script/test$ more 2.txt&lt;br /&gt;
# pappa&lt;br /&gt;
# pippa&lt;br /&gt;
# pappa&lt;br /&gt;
# pluto&lt;br /&gt;
# &lt;br /&gt;
# g4b0@slack:~/sys/script/test$ more test2/3.txt&lt;br /&gt;
# pappa&lt;br /&gt;
# pippa&lt;br /&gt;
# pappa&lt;br /&gt;
# pluto&lt;br /&gt;
# &lt;br /&gt;
# g4b0@slack:~/sys/script/test$&lt;br /&gt;
&lt;br /&gt;
EXIT_SUCCESS=0&lt;br /&gt;
EXIT_FAILURE=1&lt;br /&gt;
&lt;br /&gt;
function usage () {&lt;br /&gt;
  echo &amp;quot;usage: ($basename $0) &amp;lt;old regexp&amp;gt; &amp;lt;new regexp&amp;gt; [ start directory ] &amp;quot;&lt;br /&gt;
  exit $EXIT_FAILURE&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function chstr_ric () {&lt;br /&gt;
&lt;br /&gt;
  echo -e &amp;quot;Num par: $#\n$0\n$1\n$2\n$3\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # se non è specificata la dir di partenza parto da quella attuale&lt;br /&gt;
  if [ -z &amp;quot;$3&amp;quot; ]; then&lt;br /&gt;
    DIR=$PWD&lt;br /&gt;
  else&lt;br /&gt;
    DIR=$3&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
  # Entro nella dir &lt;br /&gt;
  echo -e &amp;quot;directory root: $DIR\n&amp;quot;&lt;br /&gt;
  cd $DIR&lt;br /&gt;
&lt;br /&gt;
  for FILE in * ; do&lt;br /&gt;
    if [ -d $FILE ] ; then&lt;br /&gt;
      echo -e &amp;quot;\n*************\nEntro dentro a: $DIR/$FILE\n*************&amp;quot;&lt;br /&gt;
      # Se è una dir ci entro dentro e chiamo la ricorsione&lt;br /&gt;
      cd $FILE&lt;br /&gt;
      chstr_ric &amp;quot;$1&amp;quot; &amp;quot;$2&amp;quot; &amp;quot;$FILE&amp;quot;&lt;br /&gt;
      echo -e &amp;quot;\n*************\nEsco da a: $DIR/$FILE\n*************&amp;quot;&lt;br /&gt;
      # finita la ricorsione risalgo nell'albero delle directory&lt;br /&gt;
      cd ..&lt;br /&gt;
    else&lt;br /&gt;
      echo -e &amp;quot;\tProcesso il file: $FILE&amp;quot;&lt;br /&gt;
      # se è un file attuo la sostituzione&lt;br /&gt;
      sed -e &amp;quot;s/$1/$2/g&amp;quot; $FILE &amp;gt; $FILE.newsed&lt;br /&gt;
      mv -f $FILE.newsed $FILE &lt;br /&gt;
    fi&lt;br /&gt;
  done&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Se il numero di argomenti non è corretto esco e scrivo l'utilizzo&lt;br /&gt;
if [ $# -eq 0 -o $# -gt 3 ]; then&lt;br /&gt;
  usage&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
echo -e &amp;quot;\n\n******************************&lt;br /&gt;
  \n Ora sono in: $PWD&lt;br /&gt;
  \nNum par: $#\nComando: $0\nOld regexp: $1\nNew Regexp: $2\nDir: $3&lt;br /&gt;
  \n******************************&amp;quot;&lt;br /&gt;
echo -e &amp;quot;\nContinue? (yes/no)&amp;quot;&lt;br /&gt;
# exit 0&lt;br /&gt;
&lt;br /&gt;
read SURE&lt;br /&gt;
&lt;br /&gt;
if [ $SURE != &amp;quot;yes&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
  echo -e &amp;quot;Aborting...&amp;quot;&lt;br /&gt;
  exit $EXIT_FAILURE&lt;br /&gt;
fi &lt;br /&gt;
&lt;br /&gt;
echo -e &amp;quot;\n\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
chstr_ric &amp;quot;$1&amp;quot; &amp;quot;$2&amp;quot; &amp;quot;$3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
exit $EXIT_SUCCESS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Data: 21/10/2007&lt;br /&gt;
* Autore: g4b0&lt;/div&gt;</summary>
		<author><name>Slacky</name></author>	</entry>

	</feed>