我想使用以下格式列出 /etc/passwd 上的用户名、id 和组:username uid gid
我使用过以下内容:
cut -d: -f1,3,4 /etc/passwd
但它回来了username:uid:gid
。如何格式化命令以删除:
没有它的或列表,如下所示:
root 0 0
daemon 1 1
bin 2 2
...
答案1
取决于你想要什么输出
最简单的方法是将分隔符转换为您想要的内容tr
,sed
或者awk
...例如
cut -d: -f1,3,4 /etc/passwd | tr ':' '\t'
cut -d: -f1,3,4 /etc/passwd | sed 's/:/ --- /g'
awk -F: '{ print $1, $3, $4}' /etc/passwd
如果你想格式化为表格然后使用column
cut -d: -f1,3,4 /etc/passwd | column -t -s ':'
答案2
我的 cut (cut (GNU coreutils) 8.28) 版本有一个--output-delimiter
参数:
cut -d: -f 1,3,4 --output-delimiter " " /etc/passwd
结果:
root 0 0
daemon 1 1
bin 2 2
sys 3 3