我正在运行一个脚本,该脚本将自动每季度运行一次,因此我想在此脚本末尾的 csv 输出名称中包含动态日期变量。这是相关的片段,文件名中没有
$qtr
时它可以正常工作,但是当我将其添加到文件名中时,生成的 .csv 不可读。
#!/bin/bash
qtr=$(date -d "-2 month" +%Y)Q$(( ($(date -d "-2 month" +%-m)-1)/3+1 ))
hiveconnector -e "set hive.cli.print.header=true;select * from hivetable;" | tr "\\t" "," >file_name_$qtr.csv
编辑:我已尝试对
file_name_$qtr.csv
进行以下更改:
file_name_${qtr}.csv, file_name_"${qtr}".csv, $"file_name_${qtr}.csv"
编辑2:看起来在 $qtr var 和纯文本之间添加了换行符,即使 file_name_"${qtr}".csv 的回显没有显示换行符 -
错误信息:
Can't create file 'C:\...\file_name_2024Q1
.csv'
The filename, directory name, or volume label syntax is incorrect.
编辑3 - 解决方案: 我能够通过 Unix EOL Conversion 并调用一个保存整个路径/文件名的新变量来解决。
解决方案:我能够通过 Unix EOL Conversion 并调用一个保存整个路径/文件名的新变量来解决。