GNU awk имеет расширение образца filefuncs
, которое имеет функцию stat
.Ниже приведен пример кода из документации :
$ echo /tmp | awk -F: ' # testing with echo
@load "filefuncs"; # enable extension
{
ret = stat($1,fdata) # stat the file
if (ret < 0) # if file not exists
printf("could not stat %s: %s\n",file, ERRNO) > "/dev/stderr"
printf "%s %o\n",fdata["name"],fdata["mode"] # print name and mode 16 bit
}'
/tmp 41777
Если вы хотите попробовать это, замените $1
на $6
и используйте его как awk '{...}' /etc/passwd
. Вы такжеможет потребоваться установить переменную оболочки AWKLIBPATH для расширения.