grepコマンドで文字列を変数に関連付ける

grepコマンドで文字列を変数に関連付ける

次のパターンで検索する必要があります。

_20181106

20181106は昨日の日付なので、変数でなければなりません。

TZ=aaa24 date +%Y%m%d

このパターンのあるファイルをどのように検索できますか?

私はAIXを使用しています

答え1

AIXでは、以下を使用してください/bin/ksh93

grep "_$(printf '%(%Y%m%d)T' yesterday)" filename

または:

grep "$(printf '_%(%Y%m%d)T' yesterday)" filename

または:

yesterday=$(printf '%(%Y%m%d)T' yesterday)
grep "_$yesterday" filename

気づく

TZ=aaa24 date

UTC日付より24時間前の日付を提供するため、現地時間はUTCに続く昨日の日付のみを提供します(他の時間帯の特定の時間の正確な日付を提供することもできます)。

答え2

あなたの質問に「aaa24」が何であるかわかりませんが、これは役に立ちます。

dategrep を実行する前に、コマンド置換を使用してコマンドを評価してください。

grep $(date +%Y%m%d) foo

関連情報