次のファイルがあります。
File: ‘./Payment_Volume_and_Value_Report_000000501C5_2.10_2022_11_14_06_24_49.xml’
Modify: 2022-11-14 06:24:54.466847421 -0500
Change: 2022-11-14 06:25:02.166883414 -0500
File: ‘./Payment_Volume_and_Value_Report_000000501C5_2.9_2022_11_14_06_24_54.xml’
Modify: 2022-11-14 06:24:54.740847211 -0500
Change: 2022-11-14 06:25:02.166883414 -0500
File: ‘./Payment_Volume_and_Value_Report_000000501C5_2022_11_14_06_24_54.xml’
Modify: 2022-11-14 06:24:54.637847290 -0500
Change: 2022-11-14 06:25:02.166883414 -0500
各ファイルの出力が次のようになります。
Payment_Volume_and_Value_Report_000000501C5_2.10_2022_11_14_06_24_49.xml
06:24:54
06:25:02
可能であれば、最後に表示された2時間の差を計算したい(変更 - 修正)。
Payment_Volume_and_Value_Report_000000501C5_2.10_2022_11_14_06_24_49.xml
00:00:08
ベストアンサー1
使用強く打つそしてGNUdate
コマンド:
while read -r attr data; do
[[ $attr == File: ]] && echo "$data"
[[ $attr == Modify: ]] && m="$data"
if [[ $attr == Change: ]]; then
c="$data"
c_epoch=$(date -d"$c" +%s)
m_epoch=$(date -d"$m" +%s)
echo "$((c_epoch - m_epoch)) seconds"
fi
done < file
出力:
‘./Payment_Volume_and_Value_Report_000000501C5_2.10_2022_11_14_06_24_49.xml’
8 seconds
‘./Payment_Volume_and_Value_Report_000000501C5_2.9_2022_11_14_06_24_54.xml’
8 seconds
‘./Payment_Volume_and_Value_Report_000000501C5_2022_11_14_06_24_54.xml’
8 seconds