我有一个Excel电子表格。"标签-CSV“选项卡中有两列:“NEW_NOME_TAG”和“CSV”。我必须将列“CSV”的每个单元格转换为CSV文件,并在列“NEW_NOME_TAG”中定义确切的名称读取f1 f2 f3 f4时IFS =“,”;执行回显“字段[$f1 $f2 $f3 $f4]”完成〈a.csv
u0sqgete1#
首先,将整个“Tag-CSV”选项卡导出为单个CSV文件。为此,强烈建议您在导出过程中使用竖线分隔列。然后,一旦您有了导出的CSV that选项卡,您就可以应用以下脚本的逻辑,将CSV“分解”为所需的多个 *.csv文件。演示脚本:
#!/bin/bash input="test_sample.csv" cat >"${input}" <<"EnDoFiNpUt" NEW_NOME_TAG|CSV dummy1.csv|cat,dog,bird,fish,snake,elephant,ant,crab,whale dummy2.csv|dodge,chrysler,ford,lincoln,buick,cadillac dummy3.csv|trains,planes,automobiles,ships,rockets EnDoFiNpUt IFS="|" while read filename data do case ${filename} in *.csv) echo "${data}" >"${filename}" ;; * ) echo "Ignoring header line ..." ;; esac done <"${input}" for file in dummy*.csv do echo "FILE: ${file}" cat "${file}" echo "" done The **session output** looks like this: Ignoring header line ... FILE: dummy1.csv cat,dog,bird,fish,snake,elephant,ant,crab,whale FILE: dummy2.csv dodge,chrysler,ford,lincoln,buick,cadillac FILE: dummy3.csv trains,planes,automobiles,ships,rockets
1条答案
按热度按时间u0sqgete1#
首先,将整个“Tag-CSV”选项卡导出为单个CSV文件。为此,强烈建议您在导出过程中使用竖线分隔列。
然后,一旦您有了导出的CSV that选项卡,您就可以应用以下脚本的逻辑,将CSV“分解”为所需的多个 *.csv文件。
演示脚本: