控制文件中的一行如下所示:1039 ZA_BKPF_20170725103534.txt 因此,使用空格作为分隔符,我将文件名单独剪切并分配给如下所示的变量:file=echo "$line" | cut -d " " -f2
然后我使用 sed: sed -i 1d "$targetDir"/"$file"
但在日志中我得到了以下错误:我也做了一个 echo 来确认文件是否存在。如您所见,该文件存在。但 sed 说没有这样的文件或目录。
- 文件=$'ZA_BKPF_20170725103534.txt\r'
- echo '/u/applic/data/hdfs1/etl_grmacw/ACDW/source/ZA/ZA_BKPF_20170725103534.txt 存在' /u/applic/data/hdfs1/etl_grmacw/ACDW/source/ZA/ZA_BKPF_20170725103534.txt 存在
- sed -i 1d $'/u/applic/data/hdfs1/etl_grmacw/ACDW/source/ZA/ZA_BKPF_20170725103534.txt\r' sed:无法读取/u/applic/data/hdfs1/etl_grmacw/ACDW/source/ZA/ZA_BKPF_20170725103534.txt:没有此文件或目录
有人熟悉 $'string\r'。为什么我的变量会发生这种情况。这是问题还是其他原因?有人能帮我吗?谢谢,Hari G