我有一个文件../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-01]-[2015-10-07]
我尝试将转义字符“\”与“[”一起使用,但仍然不起作用。请告诉我怎么读这个文件。
1条答案
按热度按时间dfty9e191#
... 那这个呢?
$hdfs -getmerge "$reportPath" "$tmpWorkingDirectory/report.txt"