我怎样才能只列出没有尾随“/”的目录名?
How can I list only directory names, with no trailing "/"?
通过在文件夹中执行以下命令
ls -d */ | cut -f1 -d'/'
我得到如下条目:
env1
env2
env3
env4
如何使用 cat/grep
或 yq/jq
或任何其他替代命令来代替上述命令?
for dir in */; do
echo "${dir%/}"
done
有几个选项。您可以使用带选项的 tree 命令:
# d: list only directories
# i: no print of indention line
# L: max display depth of the directory tree
tree -di -L 1 "$(pwd)"
或者您也可以使用 grep command to get the directories and the command awk:
# F: input field separator
# : print the ninth column of the output
ls -l | grep "^d" | awk -F" " '{print }'
或者您可以使用sed命令删除斜线:
# structure: s|regexp|replacement|flags
# g: apply the replacement to all matches to the regexp, not just the first
ls -d */ | sed 's|[/]||g'
我在 post 中找到了这个解决方案。
通过在文件夹中执行以下命令
ls -d */ | cut -f1 -d'/'
我得到如下条目:
env1
env2
env3
env4
如何使用 cat/grep
或 yq/jq
或任何其他替代命令来代替上述命令?
for dir in */; do
echo "${dir%/}"
done
有几个选项。您可以使用带选项的 tree 命令:
# d: list only directories
# i: no print of indention line
# L: max display depth of the directory tree
tree -di -L 1 "$(pwd)"
或者您也可以使用 grep command to get the directories and the command awk:
# F: input field separator
# : print the ninth column of the output
ls -l | grep "^d" | awk -F" " '{print }'
或者您可以使用sed命令删除斜线:
# structure: s|regexp|replacement|flags
# g: apply the replacement to all matches to the regexp, not just the first
ls -d */ | sed 's|[/]||g'
我在 post 中找到了这个解决方案。