我登录了linux系统并尝试获取所有当前用户。我在终端中使用users
命令,结果显示为“user1 user2 user3 user4”。
有什么方法可以打破用户名行并使每个用户名占据一行吗?
答案1
users | tr -s ' ' '\n'
这将获取实用程序的输出users
,并使用 替换所有空格为换行符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