如何使用cut命令从/etc/passwd文件中提取用户名和登录shell的列表,其中生成的用户名和登录shell由单个空格分隔?
使用登录shell作为主键,用户名作为辅助键,按升序顺序对结果列表进行排序。将结果存储在新创建的文件~/usershells.txt中。
这是我尝试的命令:
cut -d /etc/passwd -k7 -k1 | sort > ~/usershells.txt发布于 2014-07-15 21:43:04
为了进行排序,您不必使用cut,只需在管道中使用sort:
sort -t " " -k 7 /etc/password | sort -t " " -k 1管道顺序确保登录shell将用作主键,用户名用作辅助密钥。
-t " "将使用space作为分隔符。
要只显示这两列,请使用cut (排序后):
sort -t " " -k 7 /etc/password | sort -t " " -k 1 | cut -f 1,7 -d:最后,您可以将输出保存在文件usershells.txt中:
sort -t " " -k 7 /etc/password | sort -t " " -k 1 | cut -f 1,7 -d: > ~/usershells.txt如果您的默认分隔符是:,则可以使用tr作为丹尼_L提到的内容:
tr ":" " " /etc/password | sort -t " " -k 7| sort -t " " -k 1 | cut -f 1,7 -d: > ~/usershells.txt发布于 2014-07-15 21:43:49
参数f允许您选择字段,d设置分隔字符是什么。
cut -f 1,7 -d: /etc/passwd发布于 2014-07-16 18:26:26
cut -f 1,7 -d: /etc/passwd | tr ":" " " | sort > ~/usershells.txthttps://unix.stackexchange.com/questions/144705
复制相似问题