【发布时间】:2017-01-25 11:45:34
【问题描述】:
我使用的是 RHEL 7。以前我使用的是 5.5。 我们有一个由proftp 和mysql 配置的大型FTP 服务器。
问题是,我需要获取文件夹名称并为新服务器创建相同的文件夹。
我的做法如下:
ls > /abc/folders.txt
然后我将 txt 文件移动到新服务器并使用以下脚本
#!/bin/bash
N=0
cat folders.txt | while read LINE ; do
N=$((N+1))
mkdir /ftp/FTP/$LINE
done
它正在创建文件夹,但所有文件夹都有一个“?”最后如下:
zhl?
heing? zieha?
hvejen? ziga?
hellgrafisk? zinernagel?
它在 RHEL 5.5 上运行良好。如何解决?
【问题讨论】:
-
您可能在folders.txt 中有MS-DOS (CR+LF) 行结尾,所以当您阅读每一行时,您会得到一个杂散的CR 字符。修正你的行尾,你应该没问题。
-
你查看
folders.txt的内容了吗?看起来不错吗?您是否尝试echo $LINE来检查变量本身是否包含无效字符? -
Paul - 感谢您的建议 - 是的,有流浪字符 - 无法手动删除 1556 个条目。 :( 赛斯 - 我检查了几次文件 - 只有杂散字符 - 没有别的。