
다음 형식으로 데이터가 존재하는 파일이 있습니다.
cat file.txt
02|123
04|321
08|453
09|364
01|789
23|765
따라서 여기서 02,04...는 시간을 나타내고 123,321...은 임의의 값을 나타냅니다.
이 파일에서 처음 두 값이 가져올 현재 시간보다 작은 모든 행을 삭제하고 싶습니다 date +'%H'
.
현재 시간이 10시라고 가정하면 10보다 작은 처음 두 시간이 포함된 행을 삭제하고 싶습니다.
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