如何删除所有与HH:MM模式不匹配的内容



所以我有一个csv文件,里面有所有时间,但有一些其他外来文本:

07:56 p.m. 
le: iTune
ap: Apple   
05:45 a.m.         
01:23 p.m.     
10:yh      
12:20 p.m.      
gh:50
ke: The n

有没有一个sed命令,我可以过滤掉所有没有HH:MM格式的行?

sed可以使用内联编辑标志:

sed -i.bak -n '/^[0-9][0-9]:[0-9][0-9]/p' file
cat file
07:56 p.m. 
05:45 a.m.         
01:23 p.m.     
12:20 p.m. 

您也可以使用grep:

grep '^[0-9][0-9]:[0-9][0-9]' file
07:56 p.m. 
05:45 a.m.         
01:23 p.m.     
12:20 p.m. 

awk 相同

awk '/^[0-9][0-9]:[0-9][0-9]/' file
07:56 p.m.
05:45 a.m.
01:23 p.m.
12:20 p.m.

相关内容

最新更新