日付形式を変換したい
やりたいこと/悩み
- ログを整形して 日付+データが取り出せたのは良いが、日付形式を整形したい
txt
Sat Feb 28 09:00:00 JST 2026 /dev/disk5s1 5.5T 1.8T 3.8T 33% /Volumes/Data2
Sat Feb 28 09:10:00 JST 2026 /dev/disk5s1 5.5T 1.8T 3.8T 33% /Volumes/Data2
Sat Feb 28 09:20:00 JST 2026 /dev/disk5s1 5.5T 1.8T 3.8T 33% /Volumes/Data2
方法
dateコマンドの-dで受け取り、+で整形すれば良い
例:
ちょっと無理やりだけども(あと、例はMac なので coreutils の gdate を使用した)
bash
DATA=$(cat /tmp/df.log | grep -E '( JST | /Volumes/Data2)' | paste - -)
echo "$DATA" | while read -r line
do
echo $(gdate -d "$(echo "$line" | cut -d ' ' -f 1-6)" +'%Y/%m/%d %H:%M'),$(echo "$line" | awk '{ print $11 }')
done
↓
txt
2026/02/28 09:00,33%
2026/02/28 09:10,33%
2026/02/28 09:20,33%
以下広告