- ベストアンサー
コマンド教えて下さい
新しく更新された順にファイルの一覧を表示したいのですが、このとき表示させるファイルの数を引数で指定するコマンドを作りたいのですが、どうすればよいでしょうか? 例えば /home/pp ディレクトリ以下の全てのファイルを対象に、最近更新のあったものを新しい順に10個表示させたいとします。このとき10を引数で指定します。 こういうコマンドって作れますか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> 例えば /home/pp ディレクトリ以下の全てのファイルを対象に、最近更新のあったものを新しい順に10個表示させたいとします。このとき10を引数で指定します。 直に打つなら $ ls -t `find /home/pp -type f -print` | head -n 10 ですね。 一つのコマンドにするなら幾つか方法がありますが、例えば csh で alias を使うなら % alias new_file 'ls -t `find /home/pp -type f -print` | head -n \!*' % new_file 10 ってな感じですかね。 ファイル数が多いと、csh のコマンドライン展開の上限に引っかかりますから、スクリプトの方が良いかも。 #! /usr/bin/sh ls -t `find /home/pp -type f -print` | head -n $1 ってな感じ。
その他の回答 (2)
- xjd
- ベストアンサー率63% (1021/1612)
ls -lat | head -10
お礼
参考になりました。ありがとうございます。
- myau
- ベストアンサー率29% (50/169)
ええと、まず更新時間順ですが、LinuxのGNUかなんかだとして、、 たぶん、 # ls -lc かな。今実機がないので確証はもてませんが。 # man ls とかやるとヘルプでますよ。 で、10個表示・・・てのは、シェル弱いので私はすぐ思いつきませんが、 あの、もしかして、 ファイル数が多くて、ログが流れちゃうのでみられないんでしょうか・・・ だとしたら、 # ls -lc | more とか、パイプで渡せばいいですよ。 そんなの知ってますよということでしたら 失礼しました。 では。 *manマニュアル活用しましょう*
お礼
参考になりました。ありがとうございます。
お礼
参考になりました。ありがとうございます。