【发布时间】:2020-01-22 11:00:33
【问题描述】:
我有一个文件,比如说 files_190911.csv,其内容如下。
EDR_MPU023_09_20190911080534.csv.gz
EDR_MPU023_10_20190911081301.csv.gz
EDR_MPU023_11_20190911083544.csv.gz
EDR_MPU023_14_20190911091405.csv.gz
EDR_MPU023_15_20190911105513.csv.gz
EDR_MPU023_16_20190911105911.csv.gz
EDR_MPU024_50_20190911235332.csv.gz
EDR_MPU024_51_20190911235400.csv.gz
EDR_MPU024_52_20190911235501.csv.gz
EDR_MPU024_54_20190911235805.csv.gz
EDR_MPU024_55_20190911235937.csv.gz
EDR_MPU025_24_20190911000050.csv.gz
EDR_MPU025_25_20190911000155.csv.gz
EDR_MPU025_26_20190911000302.csv.gz
EDR_MPU025_29_20190911000624.csv.gz
我想列出那些使用 bash 脚本的缺失序列。
每个 MPUXXX 都有自己的序列。所以该文件中有多个序列。
缺失列表的日期时间将使用前一个序列。
从上面的示例中,结果将是这样的。
EDR_MPU023_12_20190911083544.csv.gz
EDR_MPU023_13_20190911083544.csv.gz
EDR_MPU024_53_20190911235501.csv.gz
EDR_MPU025_27_20190911000302.csv.gz
EDR_MPU025_28_20190911000302.csv.gz
如果只有一个序列会更简单。 所以我可以使用这样的东西。
awk '{for(i=p+1; i<$1; i++) print i} {p=$1}'
但我知道这不能用于多个序列。
【问题讨论】:
-
@John1024 很好,先生,感谢您的建议