我有一个文件../reports/ [2015-10-01] - [2015-10-07]。它是一个大文件,所以当我尝试使用' split'命令,因为bash将[]视为字符类,我收到错误。 我的剧本:
hdfs='hadoop fs'
startDate=$1
endDate=$2
reportPath="/reports/weeklyReport/[${startDate}]-[${endDate}]"
tmpWorkingDirectory="/tmp/weeklyReport"
filePrefix="WeeklyReport[${startDate}]-[${endDate}]-Part-"
if [ -d $tmpWorkingDirectory ]; then
rm -rf $tmpWorkingDirectory
fi
mkdir $tmpWorkingDirectory
$hdfs -getmerge $reportPath $tmpWorkingDirectory/report.txt
split -d -C 10240000 $tmpWorkingDirectory/report.txt $filePrefix
.....
我收到错误::
getmerge:非法文件模式:索引6附近的字符范围非法 [2015年10月1日] - [2015年10月7日]
我尝试使用转义字符' \'用' ['但它仍然无法正常工作。 请建议我如何阅读此文件。
答案 0 :(得分:0)
......那怎么样? e