Strona 1 z 1

[+] ls i grep dziwne proste pytanie

: 11 października 2015, 19:15
autor: kodama
Siemacie, od razu piszę o co chodzi:

Kod: Zaznacz cały

kodama@HXWSK9UPAFJO:~/Pulpit/sdcall$ ls -al
razem 840
drwxr-xr-x  4 kodama kodama   4096 paź 11 19:02 .
drwxr-xr-x 17 kodama kodama   4096 paź 11 16:39 ..
-rw-r--r--  1 kodama kodama  10379 paź 11 19:02 17313971892_czesci.pdf
-rw-r--r--  1 kodama kodama     87 paź 11 19:02 17313971892_czesci.txt
-rw-r--r--  1 kodama kodama 194772 paź 11 19:02 17313971892.pdf
-rw-r--r--  1 kodama kodama  10580 paź 11 19:02 17314120621_czesci.pdf
-rw-r--r--  1 kodama kodama     87 paź 11 19:02 17314120621_czesci.txt
-rw-r--r--  1 kodama kodama 194518 paź 11 19:02 17314120621.pdf
-rw-r--r--  1 kodama kodama   9529 paź 11 19:02 17314126577_czesci.pdf
-rw-r--r--  1 kodama kodama     58 paź 11 19:02 17314126577_czesci.txt
-rw-r--r--  1 kodama kodama 194718 paź 11 19:02 17314126577.pdf

kodama@HXWSK9UPAFJO:~/Pulpit/sdcall$ ls -al | grep "17*.pdf"
-rw-r--r--  1 kodama kodama 194518 paź 11 19:02 17314120621.pdf
Struktura jak widać. Dlaczego po wydaniu takiego polecenia jak poniżej (ls ... | grep ... ) w wyniku otrzymuję jeden plik? :) Przecież powinno mi chyba wyświetlić wszystkie 17.....pdf , nie? Potrzebne jest mi to do zrobienia tablicy z nazwami tych plików, i to jeszcze sortowane po dacie utworzenia. Ja wiem, że można na pińcet innych sposobów zrobić, ino mię dziwi czemu to nie działa?

W ogóle mi ten grep jakoś dziwacznie działa, w całym systemie. Właśnie sprawdziłem gdzie indziej, zobaczcie:

Kod: Zaznacz cały

kodama@HXWSK9UPAFJO:~/Pulpit$ ls
17313973776.png  zrzut_ekranu-1.png  zrzut_ekranu.png
17314099393.png  zrzut_ekranu-2.png

kodama@HXWSK9UPAFJO:~/Pulpit$ ls | grep "17*.png"
zrzut_ekranu-1.png
O co się rozchodzi? :O

: 11 października 2015, 21:37
autor: mariaczi
Zachowanie mocno nie oczekiwane :)
Sprawdź, co zwrócą Ci komendy:

Kod: Zaznacz cały

whatis grep
which grep
Jak nie chcesz doszukiwać przyczyny, to spróbuj reinstalację pakietu grep ;)

: 11 października 2015, 21:49
autor: kodama
No mam:

Kod: Zaznacz cały

kodama@9VHWL7FNC27R:~/Pulpit/sdcall (kopia)$ whatis grep
grep (1)             - wypisuje wiersze pasujące do wzorca
kodama@9VHWL7FNC27R:~/Pulpit/sdcall (kopia)$ which grep
/bin/grep
Wybacz jeśli jakieś głupoty wypisuję, ale od piątku siedzę nad jednym skryptem i istnieje taka możliwość, że jakiejś "oczywistej oczywistości" nie widzę?:]

: 11 października 2015, 22:34
autor: mariaczi
W porządku, wynik wygląda poprawnie. Tak się zastanawiam, czy nie masz gdzieś aliasu... Wynik z "Twojego grepa" wygląda jakby przechodził jeszcze przed "head". Spróbuj odpalić skrypt z opcją "+x" na końcu w pierwszej linii.
Jak nic nie podpowie, to jeszcze mam na myśli zaprzęgnięcie strace'a, sprawdzenie skryptu na innej maszynie i na koniec pełna reinstalacja pakietu.

: 11 października 2015, 22:55
autor: kodama
Chodzi Tobie o to, żebym zrobił tak:

Kod: Zaznacz cały

#!/bin/bash +x
?
Jeśli tak to nic nie dało. Zara sprawdzę ten skrypt na innym komputerze. Pełna reinstalacja = apt-get purge grep ? ;)

DODANE
Dobra, wygląda na to, że ja cały czas źle używałem grepa albo co, bo na innym komputerze jest to samo. Chyba pora spać, może jutro mnie oświeci albo jak ;]

: 12 października 2015, 07:57
autor: LordRuthwen

Kod: Zaznacz cały

ls -al | grep 17.*.pdf

: 16 października 2015, 17:19
autor: kodama
Prawda, prawda, się człowiekowi pokiełbasiło :) Dzięki za zainteresowanie i odzew.