小编Mar*_*lon的帖子

脚本生成的多个文件,只有一个可读

在linux shell脚本生成文本文件时,我遇到了一个相当奇怪的问题.情况是这样的:

在我的Synology Disk Station上,我正在执行一个sh脚本.它使用只读SQL用户访问本地mySQL数据库.有多个呼叫(每个呼叫一行),每个呼叫将接收的输出写入不同位置的.csv文件.

.sh脚本如下所示:

/some/path/create_lists.sh

mysql --arguments < /path/to/script1.sql > /path/to/outfile1.csv
mysql --arguments < /path/to/script2.sql > /path/to/outfile2.csv
mysql --arguments < /path/to/script3.sql > /path/to/outfile3.csv
mysql --arguments < /path/to/script4.sql > /path/to/outfile4.csv
Run Code Online (Sandbox Code Playgroud)

使用我的Windows PC我想访问这些文件.

原则上,这已经工作正常,但不知何故只有最后创建的.csv文件可以直接被MS Excel读取.在上面的示例中,outfile4.csv将是唯一可读的文件.在交换第3行和第4行时,outfile3.csv是可读的.对于outfile4.csv,将创建一个具有完全相同名称的新文件,MS Excel无法打开该文件.但Notepad ++能够打开它.

它在Windows资源管理器中看起来像这样:

\\myNAS\path\to

outfile4.csv    (working)
outfile4.csv    (not working)
Run Code Online (Sandbox Code Playgroud)

怎么会有两个同名的文件?一个正在工作而另一个没有?

linux windows bash filenames

5
推荐指数
1
解决办法
34
查看次数

查找对于 Synology 加密共享来说太长的文件

在 DSM6.1 更新后尝试加密家庭共享时,我收到一条消息,指出存在文件名超过 143 个字符的文件。这是加密 Synology 共享中文件名的最大长度。

因为家庭共享中有很多东西(主要是我自己的),所以手动搜索文件是不切实际的。不过这些文件必须被删除或重命名,允许共享的加密。

我需要一种自动方式来查找所有子目录中文件名超过 143 个字符的所有文件。使用 Windows 工具通过网络共享搜索文件可能会花费太长时间。

我自己找到了解决方案(虽然通过一些互联网研究,因为我仍然是 n00b)并想与您分享,以便有同样问题的人可以从中受益。

linux bash grep synology

4
推荐指数
1
解决办法
5025
查看次数

标签 统计

bash ×2

linux ×2

filenames ×1

grep ×1

synology ×1

windows ×1