|
|
Up |
|
|
  |
Author: AbuAbu Date: Oct 4, 2006 16:58
Witam,
Jak w całym katalogu przeszukać (z podkatalogami) pliki tekstowe i
zamienić wystąpienie XXX na YYYY?
|
| |
|
| | 7 Comments |
|
  |
Author: Bartosz FeĹski aka fEnIoBartosz FeĹski aka fEnIo Date: Oct 4, 2006 20:03
W artykule Abu napisał(a):
> Jak w całym katalogu przeszukać (z podkatalogami) pliki tekstowe i
> zamienić wystąpienie XXX na YYYY?
for i in `find . -type f`; do
sed -i -e 's/XXX/YYYY/g' $i';
done
pozdr,
fEnIo
--
,''`. Bartosz Fenski | mailto:fenio@ debian.org | pgp:0x13fefc40 | irc:fEnIo
: :' : 32-050 Skawina - Glowackiego 3/15 - malopolskie v. - Poland
`. `' phone:+48602383548 | proud Debian maintainer and user
`- http://skawina.eu.org | jid:fenio@ jabber.org | rlu:172001
|
| |
|
| | 6 Comments |
|
  |
Author: MichaĹ NazarewiczMichaĹ Nazarewicz Date: Oct 5, 2006 00:53
> W artykule Abu napisał(a):
>> Jak w całym katalogu przeszukać (z podkatalogami) pliki tekstowe i
>> zamienić wystąpienie XXX na YYYY?
> for i in `find . -type f`; do
> sed -i -e 's/XXX/YYYY/g' $i';
> done
Sypnie się, gdy w nazwie pliku wystąpi spacja, znak tabulacji lub
przejścia do nowej linii. Ponadto przełącznik -i jest rozszerzeniem.
--
Pozdrawiam _ _
.o. | Wasal Jasnie Oswieconej Pani Informatyki o' \,=./ `o
..o | Michal "mina86" Nazarewicz (o o)
ooo +--jabber.org>-------ooO--(_)--Ooo--
|
| |
| 5 Comments |
|
  |
Author: Bartosz FeĹski aka fEnIoBartosz FeĹski aka fEnIo Date: Oct 5, 2006 02:00
W artykule Michał Nazarewicz napisał(a):
>> for i in `find . -type f`; do
>> sed -i -e 's/XXX/YYYY/g' $i';
>> done
>
> Sypnie się, gdy w nazwie pliku wystąpi spacja, znak tabulacji lub
find . -type f -print0 | xargs -0 sed -i -e 's/XXX/YYYY/g'
> przejścia do nowej linii. Ponadto przełącznik -i jest rozszerzeniem.
Nie jest rozszerzeniem, a po prostu funkcjonalnością wprowadzoną w wersji
4.x jeśli się nie mylę.
Zakładam, że przedmówca nie używa prehistorii ;P
pozdr,
fEnIo
--
,''`. Bartosz Fenski | mailto:fenio@ debian.org | pgp:0x13fefc40 | irc:fEnIo
: :' : 32-050 Skawina - Glowackiego 3/15 - malopolskie v. - Poland
`. `' phone:+48602383548 | proud Debian maintainer and user
`- http://skawina.eu.org | jid:fenio@ jabber.org | rlu:172001
|
| |
| 4 Comments |
|
  |
Author: Stachu 'Dozzie' K.Stachu 'Dozzie' K. Date: Oct 5, 2006 02:54
On 05.10.2006, Bartosz Feński aka fEnIo debian.org> wrote:
> W artykule Michał Nazarewicz napisał(a):
>
>>> for i in `find . -type f`; do
>>> sed -i -e 's/XXX/YYYY/g' $i';
>>> done
>>
>> Sypnie się, gdy w nazwie pliku wystąpi spacja, znak tabulacji lub
>
> find . -type f -print0 | xargs -0 sed -i -e 's/XXX/YYYY/g'
>
>> przejścia do nowej linii. Ponadto przełącznik -i jest rozszerzeniem.
>
> Nie jest rozszerzeniem, a po prostu funkcjonalnością wprowadzoną w wersji
> 4.x jeśli się nie mylę.
Jest rozszerzeniem. W stosunku do SUSv3, na ten przykład. Podobnie jak
-print0 jest rozszerzeniem GNU finda, a -0 -- GNU xargs.
|
| Show full article (0.75Kb) |
| 3 Comments |
|
  |
Author: Bartosz FeĹski aka fEnIoBartosz FeĹski aka fEnIo Date: Oct 11, 2006 09:05
W artykule Stachu 'Dozzie' K. napisał(a):
>>>> for i in `find . -type f`; do
>>>> sed -i -e 's/XXX/YYYY/g' $i';
>>>> done
>>>
>>> Sypnie się, gdy w nazwie pliku wystąpi spacja, znak tabulacji lub
>>
>> find . -type f -print0 | xargs -0 sed -i -e 's/XXX/YYYY/g'
>>
>>> przejścia do nowej linii. Ponadto przełącznik -i jest rozszerzeniem.
>>
>> Nie jest rozszerzeniem, a po prostu funkcjonalnością wprowadzoną w wersji
>> 4.x jeśli się nie mylę.
>
> Jest rozszerzeniem. W stosunku do SUSv3, na ten przykład.
I pewnie przestanie gdy wyjdzie SUSv4.
> Podobnie jak -print0 jest rozszerzeniem GNU finda, a -0 -- GNU xargs.
Te narzędzia by się musiały chyba w ogóle nie rozwijać by trzymać się
standardu. Na szczęście to standardy je gonią, a nie na odwrót ;P
|
| Show full article (1.11Kb) |
| 2 Comments |
|
  |
Date: Oct 11, 2006 09:29
On 2006-10-11, Bartosz Feński aka fEnIo wrote:
>> Jest rozszerzeniem. W stosunku do SUSv3, na ten przykład.
> I pewnie przestanie gdy wyjdzie SUSv4.
Co do tego to nie jestem pewien :)
>> Podobnie jak -print0 jest rozszerzeniem GNU finda, a -0 -- GNU xargs.
> Te narzędzia by się musiały chyba w ogóle nie rozwijać by trzymać się
> standardu. Na szczęście to standardy je gonią, a nie na odwrót ;P
Otóż to. Nie wiem dlaczego SUS jest aż tak "wąską" specyfikacją.
Jak dla mnie -0/-print0 jest opcją bardzo przydatną i powinna wchodzić w
skład "core" xargs/find a nie jako rozszerzenie. Pozostaje tylko mieć
nadzieję, że sytuacja się rozwinie.
--
Damian Szuberski
|
| |
| no comments |
|
  |
|
|
  |
Author: Micha³ NazarewiczMicha³ Nazarewicz Date: Oct 14, 2006 08:48
> W artykule Stachu 'Dozzie' K. napisał(a):
>> Podobnie jak -print0 jest rozszerzeniem GNU finda, a -0 -- GNU xargs.
Bartosz Feński aka fEnIo debian.org> writes:
> Te narzędzia by się musiały chyba w ogóle nie rozwijać by trzymać się
> standardu. Na szczęście to standardy je gonią, a nie na odwrót ;P
Nie za bardzo rozumiem co masz na myśli - oczywistym jest, że to
zazwyczaj standard "jest w tyle", bo standard nie może być swoim
podzbiorem właściwym. Natomiast narzędzia implementujące standard z
założenia zawierają wszystko o czym mówi standard więc dopiero one
mogą być jego nadzbiorem właściwym.
Inna sprawą jest, że osobiście uważam, że w obecnej formie standardu
narzędzia find i xargs są bezużyteczne. Nie zmienia to faktu, że -0 i
-print0 są rozszerzeniami w stosunku do standardu.
--
Pozdrawiam _ _
.o. | Wasal Jasnie Oswieconej Pani Informatyki o' \,=./ `o
..o | Michal "mina86" Nazarewicz (o o)
ooo +--jabber.org>-------ooO--(_)--Ooo--
|
| |
| no comments |
|
|