【问题标题】:How to put arrays as csv columns in shell?如何将数组作为 csv 列放入 shell?
【发布时间】:2019-02-15 15:51:59
【问题描述】:

我正在尝试编写一个 shell 脚本,在我的程序输出中查找一个字符串(通过正则表达式),并将与该正则表达式匹配的字符串保存在一个变量中以供进一步使用。

例如:

output = ./test --sd --sdds 200
re='K=[*]'
if (found a match of re in output)
  print getMatchedStringIfExists(output)
if not exists
  do something else

所以,基本上我想运行我的程序,完成后,检查程序是否输出“re='K=[*]'”,如果是,则返回匹配的字符串(例如 K=[1,2,3 ,4,54]),否则做其他事情。

我只是想要一个基本的解释,如果可能的话,我如何在 shell 脚本中做到这一点。

提前致谢!

注意: 我得到了我需要的东西:

output = $(./test --sd --sdds 200 | grep -o 'K=\[.*.\]')
if [$output != ""]
then
  $_out = "SUCCESFUL"
else
   $_out = "FAILED"
fi

我仍然无法保存在 .csv 文件中。我有 4 个数组,我需要放入 csv 文件的列。有人知道吗?

【问题讨论】:

    标签: regex shell csv grep export-to-csv


    【解决方案1】:

    是的,有可能。

    “shell 脚本教程”(或“bash 教程”,如果您使用的是特定的 shell)的网络搜索将返回许多解释。

    例如:

    【讨论】:

      【解决方案2】:

      您可以直接在if 中进行操作,如下所示:

      if ./test --sd --sdds 200 | egrep 'K=\[.*\]' &>/dev/null; then
          # do whatever
      else
          # do something else
      fi
      

      【讨论】:

      • 我不确定这是否是我要找的。我在这里尝试了一个简单的例子,比如ls -l | egrep 't*\.py' &>/dev/null,它没有返回任何东西,在这种情况下应该返回字符串test.py....我想将该值存储在一个变量中以供进一步使用在 csv 文件中使用。
      猜你喜欢
      • 2017-12-13
      • 1970-01-01
      • 2021-07-02
      • 1970-01-01
      • 2015-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多