1
我有一個9k分區的表,其中我想刪除約1200(表示3天)
我想結合hadoop fs -rm
和這3天的正則表達式,例如pr_load_time=2017070([1-4])(\d+)
。正則表達式的Hadoop fs -rm
的分區是這樣的(我想匹配只有前兩個在這裏)
pr_load_time=20170701000317
pr_load_time=20170704133602
pr_load_time=20170705000317
pr_load_time=20170706133602
是這樣的可能嗎?我正在考慮用awk匹配分區並使用xargs,但這似乎是刪除如此大量文件的非常緩慢的方法。然而
如果這是你n只運行一次,運行4個通配符刪除:'hadoop fs -rm「/ path/pr_load_time = 20170701 *」',...'「... 0702 *」'...等。否則,您可能需要使用xargs或類似命令分別刪除它們 – Jedi
@Jedi是的,我只需要做一次。因此,如果我想要在7月4日刪除所有內容,我只需從20170704 *開始,並且通配符將關注「04」之後的所有內容。 –
是的。您可以使用'ls'而不是'rm'來執行幹運行。你會[需要雙引號](https://stackoverflow.com/a/32738462)。 – Jedi