Text-Processing
剪切 /etc/passwd 但在結果欄位集中沒有冒號 (:)
我想使用以下格式在 /etc/passwd 上列出使用者名、id 和組:
username uid gid
我使用了以下內容:
cut -d: -f1,3,4 /etc/passwd
但它返回
username:uid:gid
。如何格式化命令以刪除:
or 沒有它的列表,如下所示:root 0 0 daemon 1 1 bin 2 2 ...
取決於你想要什麼輸出
最簡單的方法是將分隔符翻譯成你想要的
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 ':'
我的 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