如何使用bash命令读取名称中包含“[”和“]”的文件

vdzxcuhz  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(349)

我有一个文件../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]
我尝试将转义字符“\”与“[”一起使用,但仍然不起作用。请告诉我怎么读这个文件。

dfty9e19

dfty9e191#

... 那这个呢? $hdfs -getmerge "$reportPath" "$tmpWorkingDirectory/report.txt"

相关问题