Re: Dziwne zachowanie basha.
On 9/20/07, Rafał Rawicki <rawicki@gmail.com> wrote:
> Dlaczego taka komenda powoduje dziwne zachowywanie się basha?
>
> svn st | awk "/M/ { print \$2; }" | xargs vim -p
>
> Czasami przestaje odpowiadać, czasami nie wyświetla znaków nowych linii
> (po wicsnięciu <Enter> nowy znak zachęty pojawia się zaraz za starym,
> zamiast pod spodem).
Twoje rozwiązanie ma dwie istotne wady:
1. W wyrażeniu regularnym zapewne miałeś na myśli /^M/ zamiast /M/,
które łapie taki znak na dowolnej pozycji, na przykład w nazwie pliku.
2. Nie radzi robie z nazwami plików zawierającymi spacje. Trzeba
zmodyfikować skrypt awk tak, żeby wypluwał pełne nazwy plików i
dodatkowo dodawał cudzysłowy, żeby nie zmylić xargs.
Poza tym nie zauważam dziwnego zachowania shella. Proponuje na
początek użyć "xargs echo" albo "xargs ls", a dopiero potem wpuszczać
do vima, żeby upewnić się, czy shell faktycznie ma coś do tego.
Pozdrawiam,
Adam
--
Adam Byrtek
Reply to: