次の形式でデータが存在するファイルがあります。
cat file.txt
02|123
04|321
08|453
09|364
01|789
23|765
したがって、ここで02,04 ...は時間を表し、123,321 ...は任意の値を表します。
このファイルから最初の2つの値が取得する現在時刻より小さいすべての行を削除したいと思いますdate +'%H'
。
現在時刻が10時であると仮定すると、10未満の最初の2時間を含む行を削除したいと思います。
02|123
04|321
08|453
09|364
01|789
ベストアンサー1
#!/bin/bash
HOUR=`date +%H`
awk -v hour=$HOUR -F"|" '{if($1 >= hour)print}' file.txt > newfile.txt
mv newfile.txt file.txt