Spodziewam się, że funkcjonalności takiej jak w tytule opisana brak, ale może jest jakieś makro lub dostępny skrypt (np. VBS), który w opcji znajdź i zamień pozwalałby za jednym wklejeniem do okna dialogowego tekstu o kilku wartościach jakoś oddzielonych dla porządku (jak w csv) wpisywać się w kilku miejcach zamianiając kolejno wartości.
Przykład:
1)tekst wklejany do okna dialogowego z poleceniem znajdź i zamień: ARO;MARO;BORO;GROW;ATOM
2)Tekst przed operacją: aaaaaaaaaaaaaaMILO1mmmmmmmmMILO2nnnnnnnnnnnnMILO3vvvvvvvvvvMILO4dddddddddddMILO5
3) w oknie szukane i zamieniane dajemy MILO1;MILO2;MILO3;MILO4;MILO5
4)Tekst po operacji: aaaaaaaaaaaaaaAROmmmmmmmmMAROnnnnnnnnnnnnBOROvvvvvvvvvvGROWdddddddddddATOM
Czyli wszystko za dwoma wklejeniami i jednym kliknięciem zamiast wielokrotnością tych czynności.
Wklejanie (zamienianie) wartości jak ctrl+F, ale x5.
Wklejanie (zamienianie) wartości jak ctrl+F, ale x5.
OpenOffice.ux.pl3 na xp
Re: Wklejanie (zamienianie) wartości jak ctrl+F, ale x5.
Wyrażenia regularne.
znajdź: MILO1(.*)MILO2(.*)MILO3(.*)MILO4(.*)MILO5
zamień na: ARO$1MARO$2BORO$3GROW$4ATOM
>> więcej [x] wyrażenia regularne
zrobi właśnie to, o czym piszesz.
Ale uwaga: jest to prastare, ostre narzędzie. Łatwo się skaleczyć, jeżeli się nie uważa. W szczególności trzeba być ostrożnym, kiedy dopasowania mogą się nakładać na siebie.
W aplikacjach KDE (Kate? Kwrite? KWord? nie pamiętam) jest wizualny asystent tworzenia wyrażeń regularnych...
tak łatwo nie jest, ale formularz znajdź/zamień użyty następująco:atol pisze:ARO;MARO;BORO;GROW;ATOM
2)Tekst przed operacją: aaaaaaaaaaaaaaMILO1mmmmmmmmMILO2nnnnnnnnnnnnMILO3vvvvvvvvvvMILO4dddddddddddMILO5
3) w oknie szukane i zamieniane dajemy MILO1;MILO2;MILO3;MILO4;MILO5
4)Tekst po operacji: aaaaaaaaaaaaaaAROmmmmmmmmMAROnnnnnnnnnnnnBOROvvvvvvvvvvGROWdddddddddddATOM
Czyli wszystko za dwoma wklejeniami i jednym kliknięciem zamiast wielokrotnością tych czynności.
znajdź: MILO1(.*)MILO2(.*)MILO3(.*)MILO4(.*)MILO5
zamień na: ARO$1MARO$2BORO$3GROW$4ATOM
>> więcej [x] wyrażenia regularne
zrobi właśnie to, o czym piszesz.
Ale uwaga: jest to prastare, ostre narzędzie. Łatwo się skaleczyć, jeżeli się nie uważa. W szczególności trzeba być ostrożnym, kiedy dopasowania mogą się nakładać na siebie.
W aplikacjach KDE (Kate? Kwrite? KWord? nie pamiętam) jest wizualny asystent tworzenia wyrażeń regularnych...
JJ
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: Wklejanie (zamienianie) wartości jak ctrl+F, ale x5.
Mogliśmy się nie zrozumieć; mnie chodziło by zrobiło np. w czymś takim (przy czym w miejsce MILO1, MILO2, itd. byłoby cokolwiek:
<table border="1" cellpadding="4" cellspacing="0" style="width: 100%;">
<colgroup> </colgroup>
<tbody>
<tr>
<td width="100%">
<p><font face="Arial, sans-serif"><font size="2" style="font-size: 10pt;"><strong>MILO1</strong></font></font></p>
<p><font face="Arial, sans-serif"><font size="2" style="font-size: 10pt;"><span style="font-size: 14pt;"><strong>MILO2</strong></span> </font></font></p>
<p><span style="text-decoration: underline;"><font face="Arial, sans-serif"><font size="2" style="font-size: 10pt;">MILO3</font></font></span><font face="Arial, sans-serif"><font size="2" style="font-size: 10pt;"></font></font></p>
<p><font face="Arial, sans-serif"><font size="2" style="font-size: 10pt;">MILO4</font></font></p>MILO5
</td>
</tr>
</tbody>
</table>
Niestety jednak nie robi - nie zamienia wyrażeń. Bo tu nie chodzi o zamienę jednego wyrażenia (hasła - jak to oznajmia się w pracy z oknem dialogowym), ale poniekąd hurtowo kilku wyrażeń, jak napisałem, w różnych miejscach.
<table border="1" cellpadding="4" cellspacing="0" style="width: 100%;">
<colgroup> </colgroup>
<tbody>
<tr>
<td width="100%">
<p><font face="Arial, sans-serif"><font size="2" style="font-size: 10pt;"><strong>MILO1</strong></font></font></p>
<p><font face="Arial, sans-serif"><font size="2" style="font-size: 10pt;"><span style="font-size: 14pt;"><strong>MILO2</strong></span> </font></font></p>
<p><span style="text-decoration: underline;"><font face="Arial, sans-serif"><font size="2" style="font-size: 10pt;">MILO3</font></font></span><font face="Arial, sans-serif"><font size="2" style="font-size: 10pt;"></font></font></p>
<p><font face="Arial, sans-serif"><font size="2" style="font-size: 10pt;">MILO4</font></font></p>MILO5
</td>
</tr>
</tbody>
</table>
Niestety jednak nie robi - nie zamienia wyrażeń. Bo tu nie chodzi o zamienę jednego wyrażenia (hasła - jak to oznajmia się w pracy z oknem dialogowym), ale poniekąd hurtowo kilku wyrażeń, jak napisałem, w różnych miejscach.
OpenOffice.ux.pl3 na xp
Re: Wklejanie (zamienianie) wartości jak ctrl+F, ale x5.
Nawet w czymś takim by się dało, tyle że RE w OpenOffice są ograniczone do pojedynczego akapitu.
Jeżeli myślisz o dłubaniu w kodzie HTML/XML, to niestety, używanie do tego Writera, czy szerzej: edytorów formatujących, mija się z celem. No bo na poziomie kodu nie ma co formatować. Ale w innych przypadkach -- nawet nietrudno by było napisać dialog obsługujący Twój pomysł. Ne wiem, może już ktoś to zrobił, w końcu zamiany to ważna część warsztatu redakcyjnego.
Sprawną zamianę załatwisz niskopoziomowymi narzędziami jak sed albo rpl. Dla Windows np. z zestawu gnuwin32: http://gnuwin32.sourceforge.net/packages/sed.htm oraz http://gnuwin32.sourceforge.net/packages/rpl.htm. Do prostych zamian znaków jest jeszcze tr.
One przeszukują cały plik tekstowy wiersz po wierszu robiąc podstawienia jakie im się zleci. Okropne są: bez interfejsu użytkownika, potokowe. Ale skuteczne.
Jakoś tak by się używało sed-a:
sed -e"s/\bAdam\b/Ewa/g" -e"s/\bAbel\b/Kain/g" plik.we > plik.wy
rpl ma inną składnię, nie pamiętam.
Jeżeli myślisz o dłubaniu w kodzie HTML/XML, to niestety, używanie do tego Writera, czy szerzej: edytorów formatujących, mija się z celem. No bo na poziomie kodu nie ma co formatować. Ale w innych przypadkach -- nawet nietrudno by było napisać dialog obsługujący Twój pomysł. Ne wiem, może już ktoś to zrobił, w końcu zamiany to ważna część warsztatu redakcyjnego.
Sprawną zamianę załatwisz niskopoziomowymi narzędziami jak sed albo rpl. Dla Windows np. z zestawu gnuwin32: http://gnuwin32.sourceforge.net/packages/sed.htm oraz http://gnuwin32.sourceforge.net/packages/rpl.htm. Do prostych zamian znaków jest jeszcze tr.
One przeszukują cały plik tekstowy wiersz po wierszu robiąc podstawienia jakie im się zleci. Okropne są: bez interfejsu użytkownika, potokowe. Ale skuteczne.
Jakoś tak by się używało sed-a:
sed -e"s/\bAdam\b/Ewa/g" -e"s/\bAbel\b/Kain/g" plik.we > plik.wy
rpl ma inną składnię, nie pamiętam.
JJ
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: Wklejanie (zamienianie) wartości jak ctrl+F, ale x5.
Dzięki za odpowiedź. Po mojemu (ale oczywiście jestem mocno "laicki laik") trudno tu specjalnie mówić o majstrowaniu przy kodzie - po prostu pseudo-hurtowe zamień wklej w pliku tekstowym, w którym kod jest zapisany, by nie robić na piechotę. A jak trzeba w praktyce tych wskazanych narzędzi używać? Jeśli nie ma interfejsu to przez co zamieniać wartości zapisane w tekście, i to generalnie krótkim? Są może na to jakieś zalecane (w sensie, że nie zatrudne) tutoriale?
OpenOffice.ux.pl3 na xp
Re: Wklejanie (zamienianie) wartości jak ctrl+F, ale x5.
Dajmy na to taki sed. Instaluje się gdzieś dajmy na to w "C:\program files\gnuwin32\bin\sed.exe"
Używasz wywołując z wiersza poleceń (cmd, powershell) sed -e"reguła" -e "reguła" plik_we > plik_wy albo sed -f plik_reguł plik_we > plik_wy. Można też oskryptować, tj. napisać plik wsadowy (w Windows: *.cmd) np. w taki sposób, by nasunięcie ikonki pliku_we na plik skryptu automatyczne generowało wynik. Coś w rodzaju robto.cmd o zawartości:
sed -f plik_reguł "%1" > "%1_wynik"
Krótkie wprowadzenie: patrz np. http://pluton.pol.lublin.pl/~wiesiekp/L ... _i_awk.pdf. O sedzie książki całe powstały...
Wbrew pozorom czasami brak interfejsu jest zaletą, bo daje swobodę w sposobie użycia.
PS. Nie chcę “namawiać do złego”. Być może są narzędzia, które robią coś podobnego w sposób równie skuteczny, lecz przyjemniejszy, w jakimś środowisku graficznym.
Używasz wywołując z wiersza poleceń (cmd, powershell) sed -e"reguła" -e "reguła" plik_we > plik_wy albo sed -f plik_reguł plik_we > plik_wy. Można też oskryptować, tj. napisać plik wsadowy (w Windows: *.cmd) np. w taki sposób, by nasunięcie ikonki pliku_we na plik skryptu automatyczne generowało wynik. Coś w rodzaju robto.cmd o zawartości:
sed -f plik_reguł "%1" > "%1_wynik"
Krótkie wprowadzenie: patrz np. http://pluton.pol.lublin.pl/~wiesiekp/L ... _i_awk.pdf. O sedzie książki całe powstały...
Wbrew pozorom czasami brak interfejsu jest zaletą, bo daje swobodę w sposobie użycia.
PS. Nie chcę “namawiać do złego”. Być może są narzędzia, które robią coś podobnego w sposób równie skuteczny, lecz przyjemniejszy, w jakimś środowisku graficznym.
JJ
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: Wklejanie (zamienianie) wartości jak ctrl+F, ale x5.
Wielkie podziękowania za wspomożenie w potrzebie. Teraz przynajmniej wiem od której strony można to zacząć "gryźć", to i coś może wyjdzie sensownego z edukacji.
OpenOffice.ux.pl3 na xp