在 shell 脚本中,我正在尝试将 CVS 文件转换为 Excel 2003 XML,如本答案所述: https ://stackoverflow.com/a/150368
下面的部分处理在 Table 元素中创建 Row 元素
ROWS=`wc -l < $IN_FILE | sed 's/ //g' `
COLS=`awk -F',' '{print NF; exit}' $IN_FILE`
#for each row in turn, create the elements
for r in {1 to ${ROWS}}
do
echo "<Row>\n" >> $OUT_FILE
for c in {1 to ${COLS}}
do
echo "<Cell><Data>`sed -n '${r}p' $IN_FILE | cut -d "," -f ${c} `</Data></Cell> \n"
done
echo "</Row>\n" >> $OUT_FILE
done
echo "</Table>" >> $OUT_FILE
我遇到了问题,因为 sed 不接受行号作为变量。
我只需要打印那一行,管道到一个切口以提取那一列。
另外,不确定在回声中间使用命令替代...
有什么建议吗?