
Bashでは、アルファベット順にリストされている特定の場所にファイルを見つけることができるはずです。たとえば、a, b, c, d, e
ディレクトリにファイルがあり、3番目のファイルを見つけるにはを返す必要がありますc
。 5番目のファイルが必要な場合e
。
助けてくれてありがとう。表現が苦手だったらすみません。後で方法がわかったら、もう一度説明します。
答え1
そしてzsh
:
printf '%s\n' *([5])
非表示ではなく、5番目のファイルを語彙順に提供します。*(D[5])
隠しファイルを含めるように変更します(および含まない).
。..
Bourneなどのシェルでも同じことができます。
set -- *
printf '%s\n' "$5"
答え2
これはすべてのシェルで機能します。ls | awk "NR==$fileIndex{ print; }"
説明する:
ls
ディレクトリ内のすべてのファイルをアルファベット順に返し、パイプはls
各ファイルを独自の改行で実行し、で定義awk "NR==$fileIndex{ print; }"
した行番号を印刷します$fileIndex
。