2行を1行にする
やりたいこと/悩み
- ディスク使用量をログに雑に残していたとする
dateコマンドとdfコマンドを実行するだけのシェルを cron 実行
- 知りたいパーティションだけ grep すると、時刻が分からない
- 時刻と 知りたいパーティションを grep すると 時刻とデータが交互に出てくることになる
- 各1行で出てくると加工しやすいのだけど..
bash
cat /tmp/df.log | grep -E '( JST | /Volumes/Data2)'
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
方法
pasteコマンドを使えば良いpaste - -とやると、2行ずつを1行にまとめて出してくれる
bash
cat /tmp/df.log | grep -E '( JST | /Volumes/Data2)' | paste - -
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
以下広告