将bash表输出映射到数组

时间:2020-08-28 10:16:57

标签: arrays bash shell sh filemap

如何将从列名中获得的值映射到一个数组,以便以后在bash脚本中使用?

+------------------------------+----------+-----------+---------+
| name                         | status   | update    | version |
+------------------------------+----------+-----------+---------+
| enable-jquery-migrate-helper | inactive | none      | 1.0.1   |
| gravityforms                 | inactive | none      | 2.4.17  |
| gutenberg                    | inactive | none      | 8.8.0   |
| redirection                  | inactive | none      | 4.8     |
| regenerate-thumbnails        | inactive | none      | 3.1.3   |
| safe-svg                     | inactive | none      | 1.9.9   |
| weglot                       | inactive | none      | 3.1.9   |
| wordpress-seo                | inactive | available | 14.8    |
+------------------------------+----------+-----------+---------+

我已经尝试了以下操作,但这只会将标题的名称保存在表中:

IFS=$'\n' read -r -d '' -a my_array < <( wp plugin list  --status=inactive --skip-plugins  && printf '\0' )

回声 $ my_array

 name status update version

检索值后,我想遍历它们以将它们添加到数组中

1 个答案:

答案 0 :(得分:2)

如果您的意图是使用shell或awk脚本映射结果,则最好使用CSV输出格式而不是默认表格式:

wp plugin list --status=inactive --skip-plugins --format=csv

它将输出以下内容:

name,status,update,version
enable-jquery-migrate-helper,inactive,none,1.0.1
gravityforms,inactive,none,2.4.17 
gutenberg,inactive,none,8.8.0
redirection,inactive,none,4.8
regenerate-thumbnails,inactive none,3.1.3
safe-svg,inactive,none,1.9.9
weglot,inactive,none,3.1.9
wordpress-seo,inactive,available,14.8