我想使用awk(虽然打开python / pandas解决方案)来拉动除了特定日期之外的所有内容,形成时间序列数据集。特定的日子有时只在整个文件中发生,因为它是一个生日,只有在一年的时间内有记录才会出现。
数据集看起来像这样,作为一个实际发生日期实例的例子:
02-28 HammondBay 139 279 30 49.23281860 -123.96769714 4 5150 69.9
02-29 HammondBay 139 279 30 49.23281860 -123.96769714 1 1437 50.9
03-01 HammondBay 139 279 30 49.23281860 -123.96769714 4 5754 59.0
03-02 HammondBay 139 279 30 49.23281860 -123.96769714 4 5732 54.8
03-03 HammondBay 139 279 30 49.23281860 -123.96769714 4 5724 128.5
所以预期的结果,只是要清楚的是一个文件,其中每个02-29实例都从这个制表符分隔的时间序列数据集中删除。
答案 0 :(得分:1)
答案 1 :(得分:1)
awk '!/02-29/' your_file.txt | tee new_file.txt
grep
:
grep -Ev '02-29' your_file.txt > new_file.txt
答案 2 :(得分:1)
要删除所有以02-29
前缀 inplace 开头的行,您可以使用sed -i
:
$ sed -i '/^02-29/d' input.txt
或使用grep
+ sponge
:
$ grep -v '^02-29' input.txt | sponge input.txt
其中来自sponge
的{{1}}实用程序允许覆盖管道中使用的文件作为输入。