使用Shell脚本在HDFS中删除文件名中的扩展名

时间:2018-10-24 06:14:20

标签: unix hdfs

请帮助我如何使用以下命令删除HDFS中文件名的扩展名  Unix Shell脚本。

例如,我的初始文件名是sample.txt.gz。我要删除  文件名中的.gz。

这是我到目前为止所做的。

#Parameters 

baseDirHdfs=${1} dss=${2} ds=${3} processDirHdfs=${4} filename=${5} kerberosKeytab=${6} kerberosPrincipal=${7}

kinit -kt ${kerberosKeytab} ${kerberosPrincipal}

#Removing .gz extension 

newFilename=echo ${filename} | cut -f1-6 -d '.'

#Decompressing .GZ Files 

hdfs dfs -cat /${baseDirHdfs}/${dss}/${ds}/${processDirHdfs}/${filename}|gzip -d|hdfs dfs -put - /${baseDirHdfs}/${dss}/${ds}/${processDirHdfs}/${newFilename}

1 个答案:

答案 0 :(得分:0)

通常,文件名和扩展名由dot(.)

分隔

所以,这样的事情就可以做到:

mayankp@mayank: $file=myfile.sh
mayankp@mayank: $file_name=`echo $file| awk -F'.' '{print $1}'`
mayankp@mayank: $echo $file_name
myfile

让我知道这是否有帮助。