Ame*_*ina 1 shell zsh cd-command
我对如何dirs
工作感到有些困惑。文档说:
目录
不带参数,打印目录堆栈的内容。使用
pushd
命令将目录添加到此堆栈,并使用cd
或popd
命令删除。
一季度。我从来没有使用popd
也没有pushd
,但我注意到,dirs
跟踪在那里我一直目录(这对我来说意味着,这cd
增加了,而不是移除了,目录栈)
Q.2使用 长时间会话后cd
,通常dirs
会打印一长串目录,但此列表首先打印最近的目录,并以最后一个目录结束,因此如果我有一个长列表,屏幕会滚动,然后我无法轻易看到最新的目录集(通常是我最感兴趣的目录)。
如何以相反的顺序打印目录列表?
我试过了dirs | sort -r
,但这不能正确地对条目进行排序,例如我得到
20 /foo20/bar
2 /foo2/bar
19 ...
18
...
16
11
10
1
0
Run Code Online (Sandbox Code Playgroud)
未分类的原件看起来像
1 /foo/bar
2 /foo2/bar
3 ...
..
9
10
11
..
20
21
..
30
Run Code Online (Sandbox Code Playgroud)
sort
默认情况下根据 ASCII 值进行排序,这将无法正确排序具有不同位数的数字。您可以使用该-n
选项告诉它根据前导数值进行排序。
dirs -v | sort -nr
Run Code Online (Sandbox Code Playgroud)
或者,由于 come 的输出dirs
已经排序,但您只想将其转换为相反的顺序,您可以使用该tac
命令(cat
相反):
dirs -p | tac
Run Code Online (Sandbox Code Playgroud)