首页 > 解决方案 > mv: cannot stat '2001010000\r': 没有这样的文件或目录

问题描述

我有一个文件 abc.out,我需要读取它并将内容导出到命名管道。我的shell脚本如下:

#!/bin/ksh -x

cd /home/robert/

if [[ -s abc.out ]]; then
  sleep 2
  for i in `cat abc.out`
  do
    mv -f $i ./abc_archive/x$i
    print `pwd`/abc_archive/x$i > /home/robert/pipe_abc
    sleep 1
  done
fi

abc.out 文件内容如下:

2001010000
2001010001
2001010002

但是当我使用命令运行脚本时sh abc.spt,错误提示如下:

mv: cannot stat ‘2001010000\r’: No such file or directory

我该如何解决这个问题,非常感谢!

标签: linuxshellpipe

解决方案


一种选择是通过 sed 或 tr 管道输出,以删除回车: sed -e 's/[\r\n]//g' 或者 tr -d '\r'如果您只想删除 \r


推荐阅读