
このコマンドを使用して、ディレクトリ内のファイルの最初の結果を表示します。
ls | head -n 1
私の簡単な質問は、このコマンドを修正してn番目の結果を表示するにはどうすればよいですか?
ありがとうございます!
答え1
sed を使用してライン 12 を選択できます。
ls | sed -n 12p
オプションは、-n
sedにすべての行を印刷せずに(通常実行する)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番目それではやめてください。