问题Linux 相当于 DOS 的“dir /s /b 文件名”是什么?接近,但它最终会为所有此类命名文件名播放文件查找操作。
然而,我希望对 Windows 机器上的目录进行目录内容差异比较,并将其与QNX 机器上类似构造的目录进行比较。我想在两台机器上运行目录枚举命令,做一些文本文件操作来转换路径分隔字符和根驱动器,以及不将它们转换为兼容格式以获得有见地的差异。
我可以使用 生成其中所有子目录和文件的文件夹清单dir /b /s
,并将输出格式化为一堆路径...
c:\Temp>dir /b /s
c:\Temp\Subfolder1
C:\Temp\Subfolder1\File1.txt
C:\Temp\Subfolder1\File2.txt
...
Run Code Online (Sandbox Code Playgroud)
我可以看到dir /s
become ls -R
,但是如何获得/B
等效的路径输出格式?
Bru*_*779 18
没有一个标志ls
可以满足您的要求,但您可以使用其他几种工具来完成它,最简单的是(可能)find
:
find .
Run Code Online (Sandbox Code Playgroud)
Ed *_*lle 14
find
可能会给你你需要的一切。由于它执行的测试比ls
单独执行的测试更多,因此它的开销要多一些,但是如果您想要输出中的路径信息,那么这可能是实现该目标的最简单方法。
如果你要比较两个系统,那么你或许应该做一些文字第一和交换编辑\
用/
,并删除C:
前缀。然后对列表进行排序并用于diff
发现更改。sed
将是你的朋友在这里。如果你也想要这个,请跟进评论。