剪切 /etc/passwd 但在结果字段集中不带冒号 (:)

Lea*_*nux 4 text-processing cut

我想使用以下格式列出 /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
...
Run Code Online (Sandbox Code Playgroud)

phu*_*clv 8

取决于你想要什么输出

最简单的方法是将分隔符转换为您想要的内容trsed或者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
Run Code Online (Sandbox Code Playgroud)

如果你想格式化为表格然后使用column

cut -d: -f1,3,4 /etc/passwd | column -t -s ':'
Run Code Online (Sandbox Code Playgroud)


小智 5

我的 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
Run Code Online (Sandbox Code Playgroud)