这是一个显示我所有用户名的代码。
-q user | grep -A 0 -B 2 -e uid:\ 5'[0-9][0-9]' | grep ^name | cut -d " " -f2-
例如,输出就像......
usernameone
hello
whoami
然后,我希望我想检查所有用户名的长度。 喜欢这个输出...
11 //usernameone
5 //hello
6 //whoami
如何获得一段管道代码?
答案 0 :(得分:1)
鉴于产生用户列表的某些命令cmd
,您可以使用xargs
轻松完成此操作:
$ cat x
usernameone
hello
whoami
$ cat x | xargs -L 1 sh -c 'printf "%s //%s\n" "$(echo -n "$1" | wc -c)" "$1"' '{}'
11 //usernameone
5 //hello
6 //whoami
答案 1 :(得分:0)
要获得管道命令可能是不可能的,所以这里有一个使用split和while循环来实现这一目的:
-q user | grep -A 0 -B 2 -e uid:\ 5'[0-9][0-9]' | grep ^name | cut -d " " -f2-|tr " " "\n"|while read user; do echo $(echo $user|wc -c) '//'$user;done|tr "\n" " ";echo
答案 2 :(得分:0)
这应该为您提供所需格式的输出。我使用user
作为文件,因此cat
i=0;for token in $(cat user); do echo -n "${#token} //$token";echo;i=$((i+1));done;echo;