0

我有一个特定目录中的文本文件列表和文本文件中的文件名。

如何验证文本文件中的文件是否存在于该特定目录中?

4

1 回答 1

0

保持简单,并假设“shell”是指 Unix shell:

ls -1 path/to/directory | sort > list1.txt
sort file_with_filenames.txt > list2.txt
diff list1.txt list2.txt

您可能可以将其调整为智能循环或单线,但对于一次性问题,这应该就足够了。好处是您不必担心文件名中的空格,这会使循环解决方案相当棘手。

diff如果有任何差异,您可以使用返回代码来中断。

由于您没有说明任何具体要求,因此我没有为之类的事情烦恼

  • 在 /tmp 中创建列表文件
  • 使这个可重入(例如通过在临时文件名中包含 PID)
  • 之后清理临时文件
  • 进行完整性检查(目录/文件列表等是否存在)

当然,“生产”质量代码应该添加所有这些。

于 2013-08-01T07:43:32.713 回答