linux - 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
我该如何解决这个问题,非常感谢!
解决方案
一种选择是通过 sed 或 tr 管道输出,以删除回车:
sed -e 's/[\r\n]//g'
或者
tr -d '\r'
如果您只想删除 \r
推荐阅读
- c++ - 将一对插入地图并增加计数?
- python - 如何找到当前函数的名称?
- php - 这段代码,但部分 href='allowbook.php?giv= '
- javascript - Range slider with min and max values limites
- javascript - 如何通过过滤获取的数据来更新状态?
- c# - 在 TT 自动化脚本中跳过解决方案文件夹
- r - 拟合 DCC GARCH 模型后 Li Mak 检验的误差
- machine-learning - 强化学习 - 如何处理进行数字近似的不同数量的动作
- javascript - 为什么我不能在 addEventListener 中调用类函数
- javascript - 为什么这个画布绘图会导致内存泄漏?