如何格式化输出每行一个字

如何格式化输出每行一个字

我登录了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

相关内容