Kod: Zaznacz cały
grep -E '[0-9]{2}-[0-9]{2}-[1000-1974].' plik
Kod: Zaznacz cały
grep -E '[0-9]{2}-[0-9]{2}-[1000-1974].' plik
Kod: Zaznacz cały
grzesiek@home:~$ echo "12-12-999" | grep -e "^[^-]*-[^-]*-1[0-9][0-7][0-4]"
grzesiek@home:~$ echo "12-12-1010" | grep -e "^[^-]*-[^-]*-1[0-9][0-7][0-4]"
12-12-1010
grzesiek@home:~$ echo "12-12-2010" | grep -e "^[^-]*-[^-]*-1[0-9][0-7][0-4]"
grzesiek@home:~$ echo "12-12-2000" | grep -e "^[^-]*-[^-]*-1[0-9][0-7][0-4]"
grzesiek@home:~$ echo "12-12-1999" | grep -e "^[^-]*-[^-]*-1[0-9][0-7][0-4]"
grzesiek@home:~$ echo "12-12-1975" | grep -e "^[^-]*-[^-]*-1[0-9][0-7][0-4]"
grzesiek@home:~$ echo "12-12-1974" | grep -e "^[^-]*-[^-]*-1[0-9][0-7][0-4]"
12-12-1974
Kod: Zaznacz cały
[lessmian@pyrtek ~]$ echo "12-12-1485" | grep -e "^[^-]*-[^-]*-1[0-9][0-7][0-4]"
[lessmian@pyrtek ~]$
Kod: Zaznacz cały
grzesiek@home:~$ echo "12-12-1973 xxxxxxxxx ccc" | awk -F: 'BEGIN {FS=" "} {d[0]=0; split($1,d,"-"); if (d[3] <= 1974 && d[3] >= 1000) print $0}'
12-12-1973 xxxxxxxxx ccc
grzesiek@home:~$ echo "12-12-1974 xxxxxxxxx ccc" | awk -F: 'BEGIN {FS=" "} {d[0]=0; split($1,d,"-"); if (d[3] <= 1974 && d[3] >= 1000) print $0}'
12-12-1974 xxxxxxxxx ccc
grzesiek@home:~$ echo "12-12-1975 xxxxxxxxx ccc" | awk -F: 'BEGIN {FS=" "} {d[0]=0; split($1,d,"-"); if (d[3] <= 1974 && d[3] >= 1000) print $0}'
grzesiek@home:~$ echo "12-12-1000 xxxxxxxxx ccc" | awk -F: 'BEGIN {FS=" "} {d[0]=0; split($1,d,"-"); if (d[3] <= 1974 && d[3] >= 1000) print $0}'
12-12-1000 xxxxxxxxx ccc
grzesiek@home:~$ echo "12-12-999 xxxxxxxxx ccc" | awk -F: 'BEGIN {FS=" "} {d[0]=0; split($1,d,"-"); if (d[3] <= 1974 && d[3] >= 1000) print $0}'
Kod: Zaznacz cały
cat plik.txt
12-12-999
12-12-1010
12-12-2010
12-12-2000
12-12-1999
12-12-1975
12-12-1974
12-12-1485
Kod: Zaznacz cały
grep -e "^[^-]*-[^-]*-1[0-8][0-9][0-9]" plik.txt; grep -e "^[^-]*-[^-]*-19[0-6][0-9]" plik.txt; grep -e "^[^-]*-[^-]*-197[0-4]" plik.txt
12-12-1010
12-12-1485
12-12-1974
Kod: Zaznacz cały
[lessmian@pyrtek ~]$ echo '12-11-1973 dddd' | perl -lne '/\d{1,2}-\d{1,2}-(\d{1,4})/;print if $1 >=1000 && $1 <= 1974'
12-11-1973 dddd
Kod: Zaznacz cały
grep -e "^[^-]*-[^-]*-1[0-8][0-9][0-9]\|^[^-]*-[^-]*-19[0-6][0-9]\|^[^-]*-[^-]*-197[0-4]" plik.txt
12-12-1010
12-12-1974
12-12-1485
Dzięki, właśnie o coś takiego mi chodziło z użycie m tylko grepa. Mam jeszcze jeden problem, jak za pomocą grepa (tylko) zmienić w linijce każde <table/> na coś innego?piter pisze:Może być jedno uruchomienie grep'a. Po prostu nie chciało mi się wczoraj szukać operatora 'or' w grep'ie:Kod: Zaznacz cały
grep -e "^[^-]*-[^-]*-1[0-8][0-9][0-9]\|^[^-]*-[^-]*-19[0-6][0-9]\|^[^-]*-[^-]*-197[0-4]" plik.txt 12-12-1010 12-12-1974 12-12-1485
Kod: Zaznacz cały
grzesiek@home:~$ echo "xx <table/> yy" | sed "s/<table\/>/_/g"
xx _ yy