lsコマンドのn番目の結果を表示する方法は?

lsコマンドのn番目の結果を表示する方法は?

このコマンドを使用して、ディレクトリ内のファイルの最初の結果を表示します。

  ls | head -n 1

私の簡単な質問は、このコマンドを修正してn番目の結果を表示するにはどうすればよいですか?

ありがとうございます!

答え1

sed を使用してライン 12 を選択できます。

ls | sed -n 12p

オプションは、-nsedにすべての行を印刷せずに(通常実行する)12pアドレス12のパターンスペースを印刷するように要求します。

答え2

直接使用awk:

$ ls / | awk 'NR==4'
etc

答え3

これを行うより良い方法があるかもしれませんが、おそらく最も簡単な方法は次のとおりです。ls | head -<n> | tail -1

答え4

withzshと glob 修飾子:

ls -d -- *([7])

または

print -rl -- *([7])

名前順にソートされたファイルのリストの7番目のファイルが印刷されます。

ls -d -- *(om[7])

または

print -rl -- *(om[7])

o時間ごとに記録されたファイルのリストの7番目のファイルが印刷されます(最新のファイルから - 出力から7番目の項目を抽出するのmと似ています)。ls -t


理想的には、出力を処理する場合は、改行などのファンキーな文字の代わりに印刷する場所などを使用して処理するls必要があります。ls -q | command(s)-q?command(s)窒素出力ライン、印刷N番目それではやめてください。

関連情報