如何在bash输出中创建表,显示有关特定用户的每个项目?

时间:2017-07-05 22:04:06

标签: bash ubuntu

我有简单的bash脚本

#!/bin/bash

grep home /etc/passwd | grep $1

显示有关用户的信息,     输出示例:

 Vladislav:x:1000:1000:Vladislav,,,:/home/vladislav:/bin/bash

是否可以使它看起来像table (example screenshot)?我的意思是 - 有2列和 行之间的简单分隔符

1 个答案:

答案 0 :(得分:0)

如果您想要的只是列,您可以将其格式化为:

grep home /etc/passwd | grep $1 | sed 's/:/ /g' | awk '{NAME=$1;ENC=$2;AMT=3;MIN=$4;$1=$2=$3=$4="";print "name\t"NAME"\nEncrypted password\t"ENC"\nAmount of days\t"AMT"\nMinimum count of days\t"MIN"\nOther item description\t"$0}'

这将获取原始输出,将:替换为文字空格,然后将其输入awk并格式化“表格”。

我从您的示例输入字符串中获得的输出是:

name    Vladislav
Encrypted password  x
Amount of days  3
Minimum count of days   1000
Other item description      Vladislav,,, /home/vladislav /bin/bash