YYYYMMDD.Txt
形式に応じて名前付きテキストファイルがたくさんあります(今日は20160420.Txt
)。
各ファイルはデフォルトでタイムスタンプと一意のIDを含むログであり、各値はタブ区切り文字で区切られています。
たとえば、20160420.Txt
次の値を使用します。
DATE TIME ID
20160420 0135 123456
20160420 0240 234567
20160420 1252 345678
このファイル内のすべての一意のIDを抽出する必要がありますが、過去6ヶ月間のみ抽出する必要があります。
問題は、すべてのファイルが先週再生成されたため、mtimeを使用できないことです(たとえば、mtimeはファイル名と一致しません)。
grep
//を使ってfind
これを行う方法はありますかsort
?
ベストアンサー1
6ヶ月前の正確な日付を見つけるのは簡単ではありません。ただしfind
、これを使用して実行する方法を知っている場合は、-mtime
ファイル名の日付に基づいてファイルをタッチしただけです。
for x in *.Txt; do
dd=${x%.Txt}
touch -t "$dd"0000 "$x"
done
その後、使用mtime