2012-05-09 13 views
28

ls -l -tを使用して、時間順にディレクトリ内のファイルのリストを取得しています。lsコマンドの最初の2つの結果

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

+0

今、その1つのファイルを開きたいのですか? – jntme

答えて

46

あなたはheadにパイプそれをすることができます:あなたはトップ3ライン(2つのファイルとの合計)を

ls -l -t | head -3 

得られます。

これは単にサイズのラインをスキップし、あなたのファイルの最初の2行を与える:

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

tailは、最初の行を取り除き、その後、headは、次の2行を出力します。あなたはこれはかなり安全ですが、あなたが見つけた後、あなたがそれらの2つのファイルのエントリでやる何によってソートを逆にし、最後の2行

ls -ltr | tail -2 

を得ることができ、トップ出力ラインを扱う避けるために

1

あなただけの出力の最初の2行をつかむためにheadコマンドを使用することができます。

ls -l -t | head -2 
+0

これは上位2つのファイルを提供するものではなく、リストのサイズと最初にリストされたファイルのサイズを提供します。 – dag

0

あなたが頭をパイプに持っています。

ls -l -t | head -n 3

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

6

それらのファイルとファイル情報を取得するには、lsを使用する際の問題についてParsing lsとお読みください。

0

それとも、ただこの

ls -1 -t | head -2 

-1スイッチがタイトル行をスキップしてみてください。

関連する問題