如何阅读包含' ['和']'在其名称中使用bash命令

时间:2015-10-12 10:38:18

标签: bash hadoop

我有一个文件../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日]

我尝试使用转义字符' \'用' ['但它仍然无法正常工作。 请建议我如何阅读此文件。

1 个答案:

答案 0 :(得分:0)

......那怎么样? e