簡體   English   中英

需要使用 bash 腳本將存儲在 2 個不同變量中的值導出到 csv 文件中的兩個單獨列

[英]Need to export values stored in 2 different variables to two separate columns in csv file using bash script

我的 bash 腳本將數據存儲在 2 個不同的變量中,例如 -:

Var1="My deployment name is A"
Var2="My deployment url is B"

注意:- Var1 和 Var2 包含多行,因此需要在 csv 中導出到各自的列,即第一列和第二列。

我想將這 2 個值導出到 CSV 文件,以便 Var1 的值轉到同一 CSV 文件的第一列和 Var2 到第二列。 喜歡 -

在此處輸入圖像描述

有人可以幫我嗎? 提前致謝。

兩個變量 = 兩個單元格

如果變量從不包含特殊符號,如",或換行符,那么它就像

echo "$Var1,$Var2" > file.csv

如果其中可能有特殊符號,則必須引用它們,例如使用

printf '"%s","%s"\n' "${Var1//\"/\"\"}" "${Var2//\"/\"\"}"  > file.csv

兩個變量 = 具有多個單元格的兩列(每行一個單元格)

不引用

paste -d, <(echo "$Var1") <(echo "$Var2") > file.csv

帶引號

varToCol() {
  sed 's/"/""/g;s/.*/"&"/' <<< "${!1}"
}
paste -d, <(varToCol Var1) <(varToCol Var2) > file.csv

對於純 bash 解決方案,將 function 替換為以下內容。 請注意:如果變量以換行符結尾,bash 解決方案會在列底部添加一個不必要的空字段。

varToCol() {
  local col="${!1//\"/\"\"}"
  printf %s\\n "\"${col//$'\n'/$'"\n"'}\""
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM