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

时间:2014-02-12 05:49:30

标签: bash aix

我想获得以下输出并放入数组

grep password /etc/security/user

输出:

password = 123456
password = 412412

我想处理这个并得到输出的第二部分“123456”& “412412”。 最好将它们放在一个数组中。

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

2 个答案:

答案 0 :(得分:0)

你可以这样做:

grep password /etc/security/user > input

我知道三种方式:

1)剪切命令:

cut -d= -f2 input | cut -c 2-

2)awk命令:

awk < input -F= '{ print $2 }' | cut -c 2-

** 3)sed命令:

cat input | sed "s/.* = //"

此处input是您的输入文件

答案 1 :(得分:0)

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

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