-
11. Data: 2009-05-22 11:02:25
Temat: Re: AWK FS z ukośnikiem
Od: Mariusz Kruk <M...@e...eu.org>
epsilon$ while read LINE; do echo \>"$LINE"; done < "Stachu 'Dozzie' K."
>>>Field Separator, czyli FS który jest zastrzeżoną zmienną dla awk. Pola mam
>>>rozdzielone przez "\\cell" (czyli jeden ukośnik i słowo cell). Na zdrowy
>>>rozum jeżeli FS zawiera separator pola, to powinno być FS="\\cell" .
>> Źle myślisz. Napis 'FS="\\cell"' przypisze do FS ciąg zaczynający się
>> znakiem specjalnym "\c" (co zostanie zinterpretowane literalnie jako 'c'
>> po prostu).
>Nie do końca. W FS wyląduje ciąg `\cell', czyli taki jak oczekuje
>użytkownik. Tylko że jako regexp będzie szukać znaku specjalnego \c,
>czyli po prostu "c".
Tfu. Masz rację. To miałem na myśli, tylko mi się skróciło w pisaniu
i wyszła bzdura.
--
d'`'`'`'`'`'`'`'`'`'`'`'`'Yb Bo jak się przedstawia wnioski bez oparcia w
`b K...@e...eu.org d' faktach, to się obrywa tam, gdzie plecy
d' http://epsilon.eu.org/ Yb tracą swe szlachetne miano.(Zbyszek Okoń)
`b,-,.,-,.,-,.,-,.,-,.,-,.d'
-
12. Data: 2009-05-22 11:08:39
Temat: Re: AWK FS z ukośnikiem
Od: "Stachu 'Dozzie' K." <d...@d...im.pwr.wroc.pl.nospam>
On 22.05.2009, Mariusz Kruk wrote:
> epsilon$ while read LINE; do echo \>"$LINE"; done < "Stachu 'Dozzie' K."
>>>>Field Separator, czyli FS który jest zastrzeżoną zmienną dla awk. Pola mam
>>>>rozdzielone przez "\\cell" (czyli jeden ukośnik i słowo cell). Na zdrowy
>>>>rozum jeżeli FS zawiera separator pola, to powinno być FS="\\cell" .
>>> Źle myślisz. Napis 'FS="\\cell"' przypisze do FS ciąg zaczynający się
>>> znakiem specjalnym "\c" (co zostanie zinterpretowane literalnie jako 'c'
>>> po prostu).
>>Nie do końca. W FS wyląduje ciąg `\cell', czyli taki jak oczekuje
>>użytkownik. Tylko że jako regexp będzie szukać znaku specjalnego \c,
>>czyli po prostu "c".
>
> Tfu. Masz rację. To miałem na myśli, tylko mi się skróciło w pisaniu
> i wyszła bzdura.
I wyszło że "Wołodyjowski biegł galopem na czele swojego oddziału" :)
--
Stanislaw Klekot
-
13. Data: 2009-05-22 11:17:26
Temat: Re: AWK FS z ukośnikiem
Od: Mariusz Kruk <M...@e...eu.org>
epsilon$ while read LINE; do echo \>"$LINE"; done < "Stachu 'Dozzie' K."
>>>>>Field Separator, czyli FS który jest zastrzeżoną zmienną dla awk. Pola mam
>>>>>rozdzielone przez "\\cell" (czyli jeden ukośnik i słowo cell). Na zdrowy
>>>>>rozum jeżeli FS zawiera separator pola, to powinno być FS="\\cell" .
>>>> Źle myślisz. Napis 'FS="\\cell"' przypisze do FS ciąg zaczynający się
>>>> znakiem specjalnym "\c" (co zostanie zinterpretowane literalnie jako 'c'
>>>> po prostu).
>>>Nie do końca. W FS wyląduje ciąg `\cell', czyli taki jak oczekuje
>>>użytkownik. Tylko że jako regexp będzie szukać znaku specjalnego \c,
>>>czyli po prostu "c".
>> Tfu. Masz rację. To miałem na myśli, tylko mi się skróciło w pisaniu
>> i wyszła bzdura.
>I wyszło że "Wołodyjowski biegł galopem na czele swojego oddziału" :)
Niestety, masz rację. :-)
--
\------------------------/ Podwójne życie z reguły oznacza połowiczny
| K...@e...eu.org | sukces.(Wojtek Moszko)
| http://epsilon.eu.org/ |
/------------------------\
-
14. Data: 2009-05-22 14:04:24
Temat: Re: AWK FS z ukośnikiem
Od: "slawek" <s...@h...pl>
Użytkownik "Mariusz Kruk" <M...@e...eu.org> napisał w wiadomości
grup dyskusyjnych:s...@e...rdc
.pl...
> epsilon$ while read LINE; do echo \>"$LINE"; done < "slawek"
>>Field Separator, czyli FS który jest zastrzeżoną zmienną dla awk. Pola mam
>>rozdzielone przez "\\cell" (czyli jeden ukośnik i słowo cell). Na zdrowy
>>rozum jeżeli FS zawiera separator pola, to powinno być FS="\\cell" .
>
> Źle myślisz. Napis 'FS="\\cell"' przypisze do FS ciąg zaczynający się
> znakiem specjalnym "\c" (co zostanie zinterpretowane literalnie jako 'c'
> po prostu).
Nie myślę źle - przeczytaj raz jeszcze - napisałem cyt. "na zdrowy rozum" -
czyli niekoniecznie jak być powinno, ale jak byłoby najprościej, biorąc pod
uwagę że separator jest łańcuchem. To że ten łańcuch jest interpretowany do
regexp-a to już inna rzecz.
slawek
-
15. Data: 2009-05-22 14:07:56
Temat: Re: AWK FS z ukośnikiem
Od: Mariusz Kruk <M...@e...eu.org>
epsilon$ while read LINE; do echo \>"$LINE"; done < "slawek"
>>>Field Separator, czyli FS który jest zastrzeżoną zmienną dla awk. Pola mam
>>>rozdzielone przez "\\cell" (czyli jeden ukośnik i słowo cell). Na zdrowy
>>>rozum jeżeli FS zawiera separator pola, to powinno być FS="\\cell" .
>> Źle myślisz. Napis 'FS="\\cell"' przypisze do FS ciąg zaczynający się
>> znakiem specjalnym "\c" (co zostanie zinterpretowane literalnie jako 'c'
>> po prostu).
>Nie myślę źle - przeczytaj raz jeszcze - napisałem cyt. "na zdrowy rozum" -
>czyli niekoniecznie jak być powinno, ale jak byłoby najprościej, biorąc pod
>uwagę że separator jest łańcuchem. To że ten łańcuch jest interpretowany do
>regexp-a to już inna rzecz.
Myślisz źle. Pomimo, że źle napisałem :-)
Owszem, jeśli FS zawiera separator pól, to powinien tam być napis
\\cell. Tyle, że ten napis przekazuje się w treści programu dodając
dodatkowe backslashe, żeby nie zostały zinterpretowane podczas analizy
linii. Napis "\\cell" przekaże do zmiennej ciąg "\cell". A to już jest
bzdurnym regexpem (a przynajmniej nie tym, co chciałeś osiągnąć).
A to i tak mały pikuś. Pomyśl co by było jakbyś to miał w ogóle podać w
treści polecenia w shellu...
--
\.\.\.\.\.\.\.\.\.\.\.\.\.\ I am Hamlet of Borg. To be or not to be is
.\....@e...eu.org.\.\. irrelevant.
\.http://epsilon.eu.org/\.\
.\.\.\.\.\.\.\.\.\.\.\.\.\.
-
16. Data: 2009-05-22 14:30:39
Temat: Re: AWK FS z ukośnikiem
Od: "Stachu 'Dozzie' K." <d...@d...im.pwr.wroc.pl.nospam>
On 22.05.2009, Mariusz Kruk wrote:
> epsilon$ while read LINE; do echo \>"$LINE"; done < "slawek"
>>>>Field Separator, czyli FS który jest zastrzeżoną zmienną dla awk. Pola mam
>>>>rozdzielone przez "\\cell" (czyli jeden ukośnik i słowo cell). Na zdrowy
>>>>rozum jeżeli FS zawiera separator pola, to powinno być FS="\\cell" .
>>> Źle myślisz. Napis 'FS="\\cell"' przypisze do FS ciąg zaczynający się
>>> znakiem specjalnym "\c" (co zostanie zinterpretowane literalnie jako 'c'
>>> po prostu).
>>Nie myślę źle - przeczytaj raz jeszcze - napisałem cyt. "na zdrowy rozum" -
>>czyli niekoniecznie jak być powinno, ale jak byłoby najprościej, biorąc pod
>>uwagę że separator jest łańcuchem. To że ten łańcuch jest interpretowany do
>>regexp-a to już inna rzecz.
>
> Myślisz źle. Pomimo, że źle napisałem :-)
> Owszem, jeśli FS zawiera separator pól, to powinien tam być napis
> \\cell. Tyle, że ten napis przekazuje się w treści programu dodając
> dodatkowe backslashe, żeby nie zostały zinterpretowane podczas analizy
> linii. Napis "\\cell" przekaże do zmiennej ciąg "\cell". A to już jest
> bzdurnym regexpem (a przynajmniej nie tym, co chciałeś osiągnąć).
>
> A to i tak mały pikuś. Pomyśl co by było jakbyś to miał w ogóle podać w
> treści polecenia w shellu...
#v+
awk -vFS=\\\\\\\\cell \$1==\"a\"\&\&\$2=\"b\"\{print\"niama\"\}
#v-
PPNMSP ;)
--
Stanislaw Klekot
-
17. Data: 2009-05-22 14:41:14
Temat: Re: AWK FS z ukośnikiem
Od: Mariusz Kruk <M...@e...eu.org>
epsilon$ while read LINE; do echo \>"$LINE"; done < "Stachu 'Dozzie' K."
>> A to i tak mały pikuś. Pomyśl co by było jakbyś to miał w ogóle podać w
>> treści polecenia w shellu...
>
>#v+
>awk -vFS=\\\\\\\\cell \$1==\"a\"\&\&\$2=\"b\"\{print\"niama\"\}
>#v-
>
>PPNMSP ;)
To teraz załóż, że chcesz to wkleić jako treść inserta SQL-owego ^^
--
\.\.\.\.\.\.\.\.\.\.\.\.\.\ This isn't an error message; I'm just \show-
.\....@e...eu.org.\.\. ing something.(TeX)
\.http://epsilon.eu.org/\.\
.\.\.\.\.\.\.\.\.\.\.\.\.\.
-
18. Data: 2009-05-22 18:05:20
Temat: Re: AWK FS z ukośnikiem
Od: "Stachu 'Dozzie' K." <d...@d...im.pwr.wroc.pl.nospam>
On 22.05.2009, Mariusz Kruk wrote:
> epsilon$ while read LINE; do echo \>"$LINE"; done < "Stachu 'Dozzie' K."
>>> A to i tak mały pikuś. Pomyśl co by było jakbyś to miał w ogóle podać w
>>> treści polecenia w shellu...
>>
>>#v+
>>awk -vFS=\\\\\\\\cell \$1==\"a\"\&\&\$2=\"b\"\{print\"niama\"\}
>>#v-
>>
>>PPNMSP ;)
>
> To teraz załóż, że chcesz to wkleić jako treść inserta SQL-owego ^^
...z poziomu kodu w C xD
--
Stanislaw Klekot
-
19. Data: 2009-05-22 22:05:02
Temat: Re: AWK FS z ukośnikiem
Od: "slawek" <s...@h...pl>
Użytkownik "Mariusz Kruk" <M...@e...eu.org> napisał w wiadomości
grup dyskusyjnych:s...@e...rdc
.pl...
> Myślisz źle. Pomimo, że źle napisałem :-)
Myślę dobrze. I właśnie posłałem w niebyt jakieś paręnaście tysięcy plików:
pozbyłem się duplikatów plików niezależnie od tego, jak bardzo różniły się
ich nazwy i to tak, aby zostały tylko te pliki, które miały w miarę sensowne
nazwy. Dupeless wyłapał duplikaty, gawk zrobił skrypt kasujący pliki (i to z
heurystyką które są potrzebne a które nie, trywialna sprawa), skrypt się nie
chciał wykonać (wiadomo MS Windows i PL-literki) - ale od czego skopiowanie
skryptu i wpastowanie go do cmd-line (czyli wepchnięcie tak kilkunastu
tysięcy linii do shella MS :) ).
Ale jazda!
slawek
-
20. Data: 2009-10-01 07:30:42
Temat: Re: AWK FS z ukośnikiem
Od: Zenek <l...@l...lon>
Dnia 21.05.2009 slawek <s...@h...pl> napisał/a:
> Użytkownik "somebody" <a...@d...com> napisał w wiadomości grup
> dyskusyjnych:1OhRl.61218$0...@n...ams2...
>> Jeśli chcesz zapisać jeden slash, to piszesz \\. Po to, żeby znak po
>> jednym slashu nie był interpretowany jako specjalny.
> A ty w ogóle to awk znasz? Bo widzę że nie teges...
>
> Właśnie napisałem 2x slash aby było że jest to jeden znak ukośnika
> wstecznego.
Nie chce mi się wczytywać w cały wątek, ale czy przypadkiem nie uruchamiasz
swojego skryptu z linii poleceń lub wnętrza skryptu 'sh'? Wtedy masz ten "o
jeden poziom interpretacji więcej".
Daltego najłątwiej pisać skrypty od razu dla awk/gawk, czyli zacząć od
#/bin/awk -
#/usr/bin/gawk -f
czy jakośtak.
--
ml
http://www.archimedes.eu.org/