hadoop fsck / -openforwrite 命令解释

hadoop fsck / -openforwrite | egrep -v '^\.+$' | egrep "MISSING|OPENFORWRITE" | grep -o "/[^ ]*" | sed -e "s/:$//" | xargs -i hadoop fs -rmr {};

这一串命令的解释如下

中间目的是去掉这个命令输出格式,只要文件名,方便后面进行删除

#hadoop fsck /用来检查hdfs里的档案是否有损毁,产生hdfs健康报告

#openforwrite 打印输出即将写入的文件 
官网文档https://hadoop.apache.org/docs/r2.9.1/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html#fsck

# | 表示管道,上一条命令的输出,作为下一条命令参数

#  egrep -v '^\.+$'     egrep -v表示显示除了与指定的模式匹配的行之外的所有行,  '^\.+$' 表示匹配字符串开头含有.+$字符的行,
       ^有两种意思一种表示非,另一种表示字符串开头,在这里表示字符串的开头
        因此就是打印开头不含.+$字符的行

# egrep "MISSING|OPENFORWRITE"  显示包含MISSING|OPENFORWRITE匹配行的文件

# grep -o "/[^ ]*"   grep -o 表示仅匹配不空的行,"/[^ ]*"表示匹配/[^字符 
        (测试了是这样,但是没搞明白具体的正则表达式意思)

#  sed -e "s/:$//"   所有的行中如果结尾是: 那么删除它

#  xargs -i hadoop fs -rmr {}      xargs传递参数,将前一个命令的标准输出作为后一个命令的参数使用,
        xargs的-i参数是将前面的标准输出作为参数传递给{}
        hadoop fs -rmr [skipTrash] <src> 递归删除文件目录及文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值