Это задание больше подходит для awk
, чем grep
из-за структуры каждой записи, разделенной символом.
Вы можете использовать это awk
:
awk -F: '{
split($5, a, / /)
f4 = tolower(substr(a[1], 1, 4))
l4 = tolower(substr(a[2], 1, 4))
}
index($1, f4) && index($1, l4)' /etc/passwd
ldapsync:x:1118:65534:LDAP Synchronization,,,:/home/system/ldapsync:/bin/tcsh
camad15:x:2674:1000:CAMAD2015 CAMAD2015:/home/user/camad15:/bin/sh