awk 명령에서 변수 사용

awk 명령에서 변수 사용

특정 범위 내의 UID를 찾고 해당 UID와 해당 이름만 표시하려고 합니다. 범위는 명령줄에 입력하는 두 개의 매개변수에 의해 결정됩니다. 그런데 지금 사용하고 있는 코드에서는 정답이 나오지 않습니다. 아래에 표시된 첫 번째 명령은 현재 사용 중인 코드를 실행합니다. 두 번째 명령에서 내 대답을 볼 수 있습니다~해야 한다가지다.

$ ./UserID 10 100
root:0
$ ./UserID 10 100
operator: 11
games: 12
ftp: 14
dbus: 81
apache: 48
tss:59
avahi: 70
грс:32
rpcuser: 29
gdm: 42
sshd: 74
tcpdump: 72
#! /bin/bash

min=$1
max=$2

awk -F: '($3>=min) && ($3<=max ) {printf "%s:%s\n",$1,$3}' /etc/passwd

답변1

이와 같이:

#!/bin/bash

min=$1
max=$2

awk -F: -v min="$min" -v max="$max" '($3>=min) && ($3<=max) {printf "%s:%s\n",$1,$3}' /etc/passwd

관련 정보