gpt4 book ai didi

linux - 满足条件时执行管道命令

转载 作者:太空宇宙 更新时间:2023-11-04 13:04:31 24 4
gpt4 key购买 nike

hadoop fs -ls ${目录} |排序-k 6 |头-n -120 | awk '{ if ($5 == 0) 打印 $8 }' | xargs hadoop fs -rm

我正在尝试列出目录中的文件,按时间戳对它们进行排序,跳过最新的 120 个文件并删除剩余的零字节文件。当没有零字节文件时,有没有办法可以跳过 hadoop fs -rm 部分?

或者我可以使用时间戳执行相同的实现(删除在最新文件之前 30 分钟创建的零字节文件)。

最佳答案

您可以在 for 循环中运行它:

for file in `hadoop fs -ls ${DIRECTORY} | sort -k 6 | head -n -120 | awk '{ if ($5 == 0) print $8 }'`; do hadoop fs -rm $file; done

或者这看起来更好:

files=`hadoop fs -ls ${DIRECTORY} | sort -k 6 | head -n -120 | awk '{ if ($5 == 0) print $8 }'`
if [ "$files" != "" ]; then echo "$files" |xargs hadoop fs -rm; fi

关于linux - 满足条件时执行管道命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33046818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com