このような多くのファイルを含むディレクトリがあり、
grepを使用してこれらのファイルの文字列を検索すると、この順序でファイルlog.0、次にlog.1 ....が検索されます。
しかし、私はgrepに時間順に基づいて検索したい、 それから私はこれが好きです、
grep -i 'stg_data.li51_cicmpdtap0521'
$(ls -ltr sequencer_cmbcs_seq_debug.log*) | less
しかし、私はこのエラーを受け取ります
grep:invalid option -- -
私がこれに変更した後、それは働いた、
grep -i 'stg_data.li51_cicmpdtap0521' $(ls -tr
sequencer_cmbcs_seq_debug.log*) | less
ls -ltrは機能しないが、ls -trは機能するのはなぜですか?ここで-lを使用する場合と-lを使用しない場合の違いは何ですか?
回答 1 件
関連記事
- パワーシェル:サブディレクトリで複数のファイルを検索する
- ネストされたSELECTに基づくSQLiteLIKE句で複数の検索条件を使用する
- matlabで複数のデータファイルを処理する
- フォルダ内のすべてのファイルを一覧表示してから複数のファイルを選択する方法
- 特定の時間でファイルを検索します。過去14日間に変更されました
- FFmpeg:複数のファイルのループストリーム
- 複数のcsvファイルからIDと外部IDを取得する方法
- Hadoopを使用してプログラムで複数の無関係なcsvファイルを含むUntarファイル
- S3boto3で複数のファイルと特定のパターンを削除する方法
- Laravelで複数のオプションパラメータを使用してデータベースから検索する方法は?
理由
ls -ltr
動作しないのは、grepが、返されたディレクトリリストの「長い」出力全体を使用しようとしているためです。基本的に、これは次のようなものです。次のようなgrepコマンドが表示されます。
最初の列のダッシュに注意してください(例1)。 grepは入力ファイルの内容を解釈できず、「無効なオプション」を返します。
ls
を変更したとき-l
を削除するコマンド 長い出力はファイル名だけで、grepは続行できます。