首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用sed和grep提取带有时间戳的文件中特定月份的数据。

使用sed和grep提取带有时间戳的文件中特定月份的数据。
EN

Ask Ubuntu用户
提问于 2017-06-03 07:28:22
回答 1查看 9.1K关注 0票数 2

我有六年(2011-2016年)的文本文件。我只想提取所有六年的四月和五月的数据。

代码语言:javascript
复制
@STATION_ID,LATITUDE,LONGITUDE,TIME(GMT),DATE(GMT),AIR_TEMP(‌​°C) 
IMDE1611_14164B(PITAMPURA),28.7,77.15,0,08/09/2011,33.5 
IMDE1611_14164B(PITAMPURA),28.7,77.15,1,08/09/2011,33.3 
IMDE1611_14164B(PITAMPURA),28.7,77.15,2,08/09/2011,33.8 
IMDE1611_14164B(PITAMPURA),28.7,77.15,3,08/09/2011,33.8 
IMDE1611_14164B(PITAMPURA),28.7,77.15,4,08/09/2011,34.5 
IMDE1611_14164B(PITAMPURA),28.7,77.15,5,08/09/2011,35.0 
IMDE1611_14164B(PITAMPURA),28.7,77.15,6,08/09/2011,34.9 
IMDE1611_14164B(PITAMPURA),28.7,77.15,7,08/09/2011,35.4 

我使用grepsed命令过滤数据,但它没有显示我想要的结果。我使用以下命令:

代码语言:javascript
复制
grep "??-0[4-5]-????" filename.txt > filename.csv
sed -n '/2016-04-01/,/2016-04-30/{/2016-04-30/d; p}' my_delhi.txt
sed -n '/2016-04-01/,/2016-04-30/p' my_delhi.txt
EN

回答 1

Ask Ubuntu用户

发布于 2017-06-03 15:45:50

您可以使用其他的东西代替/作为sed的S分隔符。

代码语言:javascript
复制
sed -n '\:08/09/2011:p' file

或以regex和“#”作为分隔符:

代码语言:javascript
复制
sed -nr "\#,[0-9]{2}/[0-9]{2}/[0-9]{4},#p" file

仅4月和5月(dd/mm/yyyy):

代码语言:javascript
复制
sed -nr "\#,[0-9]{2}/0[45]{1}/[0-9]{4},#p" file

或(mm/dd/yyy)

代码语言:javascript
复制
sed -nr "\#,0[45]{1}/[0-9]{2}/[0-9]{4},#p" file
票数 3
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/921705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档