Unix mv命令后文件消失

Unix mv命令后文件消失,unix,mv,Unix,Mv,我在尝试用unix脚本运行mv时丢失了一些文件 脚本命令 user:/opt/app/intech_collected1/ccp > head failed.sh #!/bin/bash mv in4_G_004_0086147809_20160503_008.s /opt/app/intech_directory/intech_polled/ccp/ mv in4_G_001_0005027604_20160504_001.s /opt/app/intech_directory/inte

我在尝试用unix脚本运行mv时丢失了一些文件

脚本命令

user:/opt/app/intech_collected1/ccp > head failed.sh
#!/bin/bash
mv in4_G_004_0086147809_20160503_008.s /opt/app/intech_directory/intech_polled/ccp/
mv in4_G_001_0005027604_20160504_001.s /opt/app/intech_directory/intech_polled/ccp/
mv in4_G_008_0008299443_20160504_007.s /opt/app/intech_directory/intech_polled/ccp/
mv in4_G_008_0008301379_20160504_007.s /opt/app/intech_directory/intech_polled/ccp/
mv R_0_3_10-1_0_1_0_0_160504033902_008.s /opt/app/intech_directory/intech_polled/ccp/
mv in4_G_002_0001115247_20160504_002.s /opt/app/intech_directory/intech_polled/ccp/
mv in4_G_001_0086147949_20160504_008.s /opt/app/intech_directory/intech_polled/ccp/
mv in4_G_008_0086145465_20160503_008.s /opt/app/intech_directory/intech_polled/ccp/
mv in4_G_002_0086095468_20160503_008.s /opt/app/intech_directory/intech_polled/ccp/
我做了
bash-x

在运行时,命令如下所示

+ mv in4_G_001_0008315698_20160505_007.s $'/opt/app/intech_directory/intech_polled/ccp/\r'
+ mv in4_G_001_0086037914_20160504_008.s $'/opt/app/intech_directory/intech_polled/ccp/\r'
+ mv in4_G_008_0008299994_20160504_007.s $'/opt/app/intech_directory/intech_polled/ccp/\r'
+ mv in4_G_008_0086161387_20160504_008.s $'/opt/app/intech_directory/intech_polled/ccp/\r'
+ mv in4_G_002_0001115198_20160504_002.s $'/opt/app/intech_directory/intech_polled/ccp/\r'
+ mv in4_G_008_0086161432_20160504_008.s $'/opt/app/intech_directory/intech_polled/ccp/\r'
最后请参见
\r

现在我在源路径或目标路径中找不到文件


请帮助

除最后一个文件外,所有这些文件都已无法挽回地丢失。它们被写入名为
\r
的文件或换行符。仍然只能找到最后一个要
mv
-ed的文件。通过执行
mv$'\r“more\u readable\u name
,您可以给它一个更可读的名称

原因是脚本
失败。sh
显然已使用文本文件的Windows约定存储。在Unix下,新行字面上是
\n
字符。在Windows下,它是两个字符:
\r\n
。这意味着您没有写入目标目录,而是写入目录中的文件
\r


将来,请将编辑器配置为遵循UNIX行结尾,和/或在文件上运行实用程序
dos2unix

除最后一个文件外,所有这些文件都将无法恢复。它们被写入名为
\r
的文件或换行符。仍然只能找到最后一个要
mv
-ed的文件。通过执行
mv$'\r“more\u readable\u name
,您可以给它一个更可读的名称

原因是脚本
失败。sh
显然已使用文本文件的Windows约定存储。在Unix下,新行字面上是
\n
字符。在Windows下,它是两个字符:
\r\n
。这意味着您没有写入目标目录,而是写入目录中的文件
\r

将来,请将编辑器配置为遵循UNIX行结尾,和/或在文件上运行实用程序
dos2unix