한 줄에 한 단어로 출력 형식을 지정하는 방법

한 줄에 한 단어로 출력 형식을 지정하는 방법

나는 리눅스 시스템에 로그인하여 모든 현재 사용자를 얻으려고 노력했습니다. 터미널에서 명령을 사용했는데 users결과는 "user1 user2 user3 user4"입니다.

사용자 이름 행을 나누어 각 사용자 이름을 한 줄로 구성할 수 있는 방법이 있나요?

답변1

users | tr -s ' ' '\n'

이는 유틸리티의 출력을 가져와 users모든 공백을 newlines로 대체하고 tr결과에서 여러 개의 연속된 개행 문자를 제거합니다( 를 사용하여 -s).

파이프를 통해 sort -u고유한 사용자 이름을 가져옵니다 .

답변2

더 나은 방법이 있을 수 있지만 다음과 같습니다.

for user in $(users); do echo "$user"; done

또는 fmt다음 명령을 사용하십시오.

users | fmt -w 1

답변3

파이프를 사용하지 않는 가장 간단한 솔루션:

printf '%s\n' $(users)

답변4

~에서https://stackoverflow.com/a/37843747/52074이 솔루션에는 6개의 표가 있습니다.

users | xargs -n 1

관련 정보