Skip to main content

日付形式を変換したい

やりたいこと/悩み

  • ログを整形して 日付+データが取り出せたのは良いが、日付形式を整形したい
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%

以下広告