![剪切 /etc/passwd 但在结果字段集中不带冒号 (:)](https://linux22.com/image/206038/%E5%89%AA%E5%88%87%20%2Fetc%2Fpasswd%20%E4%BD%86%E5%9C%A8%E7%BB%93%E6%9E%9C%E5%AD%97%E6%AE%B5%E9%9B%86%E4%B8%AD%E4%B8%8D%E5%B8%A6%E5%86%92%E5%8F%B7%20(%3A).png)
我想使用以下格式列出 /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