我需要列出所有包含 .txt 文件的目录路径。
例如:有一个路径 /geek/user/temp.txt 。我需要获取路径 /geek/user 作为输出。请任何人提供意见
答案1
对于 Windows,在命令提示符 (cmd) 中运行此命令,然后定位 (光盘)到根文件夹:
for /r %a in (.) do @if exist "%~fa\*.txt" echo %~fa
或者.
用根文件夹的路径替换上面的内容。
对于 Linux,两个可能的命令是:
find . -type f -name '*.txt' | sed -r 's|/[^/]+$||' | sort -u
find . -type f -name '*.txt' -printf '%h\n' | sort -u
对于 MacOS:
find . -type f -name '*.txt' | sed -E 's|/[^/]+$||' | sort -u