Zsh:ディレクトリの逆順

Zsh:ディレクトリの逆順

私はこれがどのように機能するのか少し混乱していますdirs。文書には次のように記載されています。

目次

引数がない場合は、ディレクトリスタックの内容を印刷します。コマンドを使用してこのスタックにディレクトリを追加するか、pushdコマンドcdpopd使用してディレクトリを削除します。

Q1.私はpopdNorを使用しませんが、私が訪問したディレクトリを追跡しているpushdことがわかりました。dirscd 次へ追加、スタックのディレクトリを削除しない)

質問2長いセッションでは、通常は長いディレクトリのリストがcd印刷dirsされますが、このリストは最後のディレクトリを最初に印刷し、最後のディレクトリで終わります。したがって、長いリストがあると、画面がスクロールして最新のディレクトリのリストを簡単に見ることができません。ディレクトリ(通常私が最も興味を持っているディレクトリ)。

ディレクトリリストを逆順に印刷するには?

試しましたが、dirs | sort -rアイテムが正しくソートされていません。たとえば、次のようになります。

20 /foo20/bar
2  /foo2/bar
19 ...
18
...
16
11
10
1
0

ソートされていないソースは次のとおりです。

1 /foo/bar
2 /foo2/bar
3  ...
..  
9
10
11
..
20
21
..
30

ベストアンサー1

sortデフォルトでは、ソートはASCII値に基づいているため、数値が異なる数値は正しくソートされません。この-nオプションを使用して、先行数値を基準にソートするように指示できます。

dirs -v | sort -nr

または の出力がdirsすでにソートされているが逆順に変更したい場合は、次のtacコマンド (reverse cat) を使用できます。

dirs -p | tac

おすすめ記事