
msandrini
(usa Outra)
Enviado em 24/06/2017 - 07:35h
Pessoal,
Tenho um arquivo passwd com o conteúdo abaixo:
root:xx:0:3::/:/sbin/sh
daemon:*:1:5::/:/sbin/sh
bin:*:2:2::/usr/bin:/sbin/sh
lp:*:9:7::/var/spool/lp:/sbin/sh
aluno1::101:20:,,,:/home/aluno1:/usr/bin/ksh
aluno2::102:20:,,,:/home/aluno2:/usr/bin/ksh
aluno3::103:20:,,,:/home/aluno3:/usr/bin/ksh
E um arquivo scri5.awk conforme abaixo:
BEGIN {OFS = "*"; totsel=0}
($4 == "20") {print $1, $6; totsel = totsel + 1}
END {print "O numero de usuarios lidos foi: " NR, "selecionado ", totsel}
Quando executo na linha de comando:
$ awk -F":" -f scri5.awk passwd
aluno1*/home/aluno1
aluno2*/home/aluno2
aluno3*/home/aluno3
O numero de usuarios lidos foi: 7*selecionado *3
o resultado é executado com sucesso, mas quando coloco o comando awk num shell script:
$ cat scri5.sh
#! /bin/bash
`awk 'BEGIN {FS = ":"; OFS = "*"} ($4 == "20") {print $1, $6} END {print "O numero de usuarios lido foi: " NR}' ./passwd`
Acontece o erro abaixo:
./scri5.sh: line 2: $'\r': comando não encontrado
./scri5.sh: line 3: aluno1*/home/aluno1: No such file or directory
./scri5.sh: line 4: $'\r': comando não encontrado
O que estou fazendo errado?