web-dev-qa-db-ja.com

lsコマンドの最初の2つの結果

使っています ls -l -tは、ディレクトリ内のファイルのリストを時間順に取得します。

検索結果をリストの上位2ファイルに制限したいと思います。
これは可能ですか?
grepを試してみましたが、苦労しました。

47
Fidel

headにパイプすることができます:

ls -l -t | head -3

上位3行(2ファイルと合計)が表示されます。

これにより、サイズ行をスキップして、ファイルの最初の2行が表示されます。

ls -l -t | tail -n +2 | head -2

tailは最初の行を取り除き、headは次の2行を出力します。

74
dag

一番上の出力行を処理しないようにするには、ソートを逆にして最後の2行を取得します

ls -ltr | tail -2

これは非常に安全ですが、これらの2つのファイルエントリを見つけた後の処理によっては、lsを使用してファイルとファイルを取得する際の問題について Parsing ls を読む必要があります情報。

7
Stephen P

headコマンドを使用して、出力の最初の2行のみを取得できます。

ls -l -t | head -2
2
larsks

または、これだけを試すことができます

ls -1 -t | head -2

-1スイッチはタイトル行をスキップします。

0

あなたは頭を通り抜けなければなりません。

ls -l -t |頭-n 3

最初の2つの結果を出力します。