ls i grep dziwne proste pytanie

Potrzebujesz pomocy z C, C++, perl, python, itp.
Awatar użytkownika
kodama
Junior Member
Posty: 633
Rejestracja: 23 maja 2010, 22:30
Lokalizacja: Poznań

[+] ls i grep dziwne proste pytanie

Post 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
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post 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 ;)
Awatar użytkownika
kodama
Junior Member
Posty: 633
Rejestracja: 23 maja 2010, 22:30
Lokalizacja: Poznań

Post 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ę?:]
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post 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.
Awatar użytkownika
kodama
Junior Member
Posty: 633
Rejestracja: 23 maja 2010, 22:30
Lokalizacja: Poznań

Post 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 ;]
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2324
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Post autor: LordRuthwen »

Kod: Zaznacz cały

ls -al | grep 17.*.pdf
Awatar użytkownika
kodama
Junior Member
Posty: 633
Rejestracja: 23 maja 2010, 22:30
Lokalizacja: Poznań

Post autor: kodama »

Prawda, prawda, się człowiekowi pokiełbasiło :) Dzięki za zainteresowanie i odzew.
ODPOWIEDZ