Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
BASH进程grep输出存储在变量中_Bash_Aix_Sed - Fatal编程技术网

BASH进程grep输出存储在变量中

BASH进程grep输出存储在变量中,bash,aix,sed,Bash,Aix,Sed,我希望获得以下输出并将其放入数组中 grep password /etc/security/user 输出: password = 123456 password = 412412 我想处理这个,并得到输出“123456”和“412412”的第二部分。 最好将它们放在一个阵列中 我的目的是检查{sha256}或{sha512}是否在密码前面。您可以执行以下操作: grep password /etc/security/user > input 我知道三种方法: 1)剪切命令: cut

我希望获得以下输出并将其放入数组中

grep password /etc/security/user
输出:

password = 123456
password = 412412
我想处理这个,并得到输出“123456”和“412412”的第二部分。 最好将它们放在一个阵列中

我的目的是检查{sha256}或{sha512}是否在密码前面。

您可以执行以下操作:

grep password /etc/security/user > input
我知道三种方法:

1)剪切命令:

cut -d= -f2 input | cut -c 2-
awk < input -F= '{ print $2 }' | cut -c 2-
2)awk命令:

cut -d= -f2 input | cut -c 2-
awk < input -F= '{ print $2 }' | cut -c 2-
此处
input
是您的输入文件

,您可以使用该代码将密码分配到数组中:

$ eval $(sed -e 's/.* = //' -e = 1.cat | sed -e 'N;s/\([0-9]\+\)\n\(.*\)/array[\1]="\2"/')
$ echo ${array[1]}, ${array[2]}
123456, 412412

搜索
命令替换
。阅读手册中有关数组的内容。说
info bash
可能会有所帮助。不要忘了访问以了解如何提出一个好问题。OP的选择数可能接近100而不是3。也不要认为有一个很好的理由在这里重新发布另一个人的答案。