automaticke premenovanie textu v txt suboroch

Sekcia: Programovanie 22.06.2007 | 16:18
Avatar hramat Arch + Openbox  Používateľ
vedel by mi niekto pomoct spravit skript, ktory by premenovaval textstring1 na iny textstring2 vo viacerych (vsetkych) textovych suboroch v danom adresari

teda ze by ten skript otvaral *.txt subory a premenovaval by definovany text na iny.

dakujem
    • Re: automaticke premenovanie textu v txt suboroch 22.06.2007 | 16:43
      Avatar Dávid Sokol Ubuntu 7.04 Desktop/NB  Používateľ
      možno tak v pascale ... heh ... ale tento jazyk je už zrejme hudba minulosti tak ... asi nič zo mňa ... ;-)
      ta ... JA .. resp. moja maličkosť... ;)
      • Re: automaticke premenovanie textu v txt suboroch 22.06.2007 | 16:53
        m0d0r   Návštevník
        ach jaj ludia sa asi nezmenia. Ale este ze pouzivaju ubuntu.

        PS : "man sed"
      • Re: automaticke premenovanie textu v txt suboroch 22.06.2007 | 17:28
        Avatar Misko Kripel slackware  Používateľ
        Pascal? Preco nie :), kompiluj to: fpc -Sd HromadneNahradenieSlov.pas
        program HromadneNahradenieSlov;
        
        uses SysUtils, Classes, StrUtils;
        
        var sr : TSearchRec;
            s : string;
        
        begin
          with TStringList.Create do
            if FindFirst('*.txt',faAnyFile,sr) = 0 then
              repeat
                writeln('Robim: '+sr.name);
                LoadFromFile(sr.Name);
                SaveToFile(sr.Name+'.old');
                Text := AnsiReplaceStr(Text,ParamStr(1),ParamStr(2));
                SaveToFile(sr.Name);
              until FindNext(sr) <> 0;
        end.
        asdf
    • Re: automaticke premenovanie textu v txt suboroch 22.06.2007 | 17:16
      Avatar Misko Kripel slackware  Používateľ
      #!/bin/bash
      # pouzitie: ./skript.sh "jablko" "hruska"
      # slova musia byt escapovane pre sed!
      #   \ napis ako \\
      #   " napis ako \"
      #   ' napis ako \'
      #   . napis ako \.
      #   $ napis ako \$
      #   ^ napis ako \^
      #   atd...
      for subor in `find *.txt 2>/dev/null`; do
        echo "Robim: $subor"
        cp $subor $subor.old
        sed "s/$1/$2/g" $subor.old > $subor
      done
      
      asdf
      • Re: automaticke premenovanie textu v txt suboroch 22.06.2007 | 19:39
        Avatar hramat Arch + Openbox  Používateľ
        za ten cas co mi prisli tieto odpovede som sa chytil man sed a postupne hladal sposob ako

        nasiel som dva sposoby, prvy: rpl prikaz
        druhy: cat subor.txt | sed -e 's/ABC/XYZ/' >subor.txt
        v tom druhom mi chybalo pridanie tej slucky pre viacero suborov + by som to este rad rozsiril aby mi ten skript chodil do podaresarov.

        diki moc
        • Re: automaticke premenovanie textu v txt suboroch 22.06.2007 | 19:43
          Avatar uid0 Debian  Používateľ
          find hlada aj v podadresaroch

          find ./ -name *.txt
          Debian. apt-get into it…
          • Re: automaticke premenovanie textu v txt suboroch 23.06.2007 | 01:11
            Avatar hramat Arch + Openbox  Používateľ
            ta bodka pred lomitkom je asi velmi dolezita, ze? :o)
            • Re: automaticke premenovanie textu v txt suboroch 23.06.2007 | 01:42
              Avatar borg Fedora  Administrátor
              bude hladat len v aktualnom pracovnom adresary.
              • Re: automaticke premenovanie textu v txt suboroch 23.06.2007 | 11:05
                Avatar hramat Arch + Openbox  Používateľ
                hej hej ja viem, ja len ze aka dolezita moze byt bodka v prikaze
                • Re: automaticke premenovanie textu v txt suboroch 23.06.2007 | 14:49
                  ethyl   Návštevník
                  najma ked robis rm -rf ./
                  • Re: automaticke premenovanie textu v txt suboroch 23.06.2007 | 21:32
                    Avatar hramat Arch + Openbox  Používateľ
                    zaujimavejsie by bolo su rm -rf ./ potom ma ta bodka asi dost velky vyznam. :o)
                    • Re: automaticke premenovanie textu v txt suboroch 23.06.2007 | 23:05
                      Avatar uid0 Debian  Používateľ
                      $ su rm -rf ./
                      su: invalid option -- r

                      etc etc

                      nemyslis su -c 'command' ? inac niektore systemy to nepovolia, ale skusat to nejdem :) a ako user si zmazes vsetko co mozes, t.j. ~/ ci mountpointy
                      Debian. apt-get into it…
                      • Re: automaticke premenovanie textu v txt suboroch 23.06.2007 | 23:23
                        Avatar hramat Arch + Openbox  Používateľ
                        myslel som sudo kazdopadne aj su -c by fungovalo.
                        to je tak ked sa clovek naplno nevenuje tomu co robi, potom robi hlupe chyby.
                        • Re: automaticke premenovanie textu v txt suboroch 23.06.2007 | 23:28
                          Avatar uid0 Debian  Používateľ
                          to su je teda istejsie, nie kazdy ma ubuntu...
                          Debian. apt-get into it…
                          • Re: automaticke premenovanie textu v txt suboroch 24.06.2007 | 13:55
                            Avatar samox86 arch, debian  Administrátor
                            sudo apt-get install searchmonkey
                            lnx.sk - virtualne servery; Lnx@Lnx.sk
                            • Re: automaticke premenovanie textu v txt suboroch 24.06.2007 | 16:55
                              Avatar uid0 Debian  Používateľ
                              nie dakujem. a ako naznacujem vyssie, neslo by mi to
                              Debian. apt-get into it…