質問: 最新ファイルのgrep サブフォルダーにある最新のファイルから特定の行を見つけようとしています。ファイルの名前は同じです。したがって、構造は次のようになります。 フォルダ subfolder1 filename.xml subfolder2 filename.xml 私はgrepを使用して行を持っていますgrep -r "mysubstring" folder/ findを使用して、提案どおりにファイルを並べ替えてみました ここ 。しかし、両方を組み合わせて最新のファイルから1行だけを取得する方法がわかりません。ご協力いただきありがとうございます。
回答: zsh:grep pattern **/*(.om[1]) om変更日別の注文と.は通常のファイルの修飾子です。gnu find:grep pattern "$(find -type f -printf '%t@ %p\n'|sort -n|tail -n1|cut -d' ' -f2-)" %t@は変更時間であり、%pはパス名です。bsd:grep pattern "$(find . -type f -exec stat -f '%m %n' {} +|sort -n|tail -n1|cut -d' ' -f2-)" %mは変更時間であり、%nはパス名です。bash 4:shopt -s globstar;grep pattern "$(ls -dt **|head -n1)" これにはディレクトリが含まれ、引数リストが長すぎるというエラーが発生する可能性があります。