ls -aの出力をgrepする方法

ls -aの出力をgrepする方法

grep出力を希望lsし、パイプで接続してless出力をスクロールできます。

これは機能しませんが、理想的には次のように入力できます。

ls -alh | grep "file" | less

これを行う方法について提案がありますか?私の全体的な目標は、ファイル名に "file"が含まれている現在のディレクトリ内のすべてのファイルの変更日を確認することです。読みましたstatが、私の目的に比べて長すぎるようです。

ベストアンサー1

「冗長すぎる」とは、コマンドが他の多くの情報もstat出力することを意味すると仮定します。これは、特定の情報を要求しない場合はデフォルト値に設定されます。

GNUの使用stat:

stat --printf '%y\t%n\n' -- *file*

これにより、修正タイムスタンプが人間が読める形式で出力され、その後にタブ文字とファイル名が表示されます。これは、部分文字列を含むすべてのファイル名に対して行われますfile。でシェルオプションを設定すると、dotglob隠しファイル名を含めることもできます。bashshopt -s dotglob

代わりに、エポック以降の修正タイムスタンプ(秒)を取得するために%Y使用してください。%y

BSDシステムでは、次のものを使用します。

stat -f '%Sm%t%N' -- *file*

代わりに(同じことをしてください)。エポック以降の秒を取得するように%Sm変更されました。%Fm

詳しくは、statシステムマニュアル()を参照してください。man 1 stat

おすすめ記事