批量替换目录中的文件内容
博客专区 > sucre 的博客 > 博客详情
批量替换目录中的文件内容
sucre 发表于2年前
批量替换目录中的文件内容
  • 发表于 2年前
  • 阅读 21
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】如何购买服务器最划算?>>>   

摘要: 用sed和grep组合
grep -rlv 'crc' /var/lib/hadoop-hdfs/20160711/ | xargs sed -i "s/,/,/g"
grep -rlv 'crc' /var/lib/hadoop-hdfs/20160711/ | xargs sed -i "s/\\$/,/g"

将目录下所有以0开头的文件中的英文逗号替换为中文逗号,再将$替换为英文逗号,注意这里要将.000开头,.crc结尾的文件排除在外,因为这些是校验文件,修改后,再次往hive中导入文件的时候,会出现以下错误

Failed with exception Checksum error: file:/var/lib/hadoop-hdfs/000000_0 at 0 exp: 264275974 got: 1334332137
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.CopyTask

发现一个问题,一旦修改了hive改出文件的分割符再想将修改后的文件导入到hive中的时候,一定会报错,所以要想导入成功,最好方法就是不修改分析后的数据,直接导入到hive中。

标签: sed grep
共有 人打赏支持
粉丝 30
博文 356
码字总数 202012
×
sucre
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: