同様の質問を見て、ほとんどの提案を試しましたが、かなり簡単な作業があると思いましたが、そのうち何も得られませんでした。私はこのことに全く慣れていないので、何をしようとするのか、何を間違っているのかわかりません。
したがって、タスクは、短い月の名前と日付(10月22日など)を含むリストされたファイル行(grepを使用)を取得することです。ファイルに長い形式のリスト(現在の日付で生成されたファイルを含む)があるため、いくつかの結果が必要です。しかし、私が得た結果は、月だけを確認して見つけることができ、日付が見つからないということです。
これまでに試したより合理的な作業のいくつかは次のとおりです。
grep $(date +"%b %e") *filename*
次に、「grep:22:No such file or Directory」という行と、その月(「10月」)のすべての結果を含むリストを取得します。代替+%d %e
or +'%d %e'
or は同じ結果を'+%d %e'
持ちます。 (私はこの日しばらくの間%dを持っていますが、これには違いはありません。問題の日付は22日です。+"%d %e";
$()
ここではなぜ今日を考慮しないのですか?
答え1
grep "$(date +"%b %d")" *files*
より良いでしょう。
二重引用符を省略すると、コマンド置換の結果が$(date +"%b %d")
別の単語に分割されます。変数置換"$variable"
とコマンド置換を"$(somecommand)"
省略する理由がわからない場合は、必ず二重引用符を使用してください。