使用 Unix 命令列出目录路径

使用 Unix 命令列出目录路径

我需要列出所有包含 .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

相关内容