shell数据清洗相关命令
时间: 2018-10-09来源:OSCHINA
前景提要
「深度学习福利」大神带你进阶工程师,立即查看>>>
在将数据加载进Hive时,经常需要对数据进行初步的多文件合并,分隔符替换统一等初步数据清洗需求,针对此种场景可以使用shell简单高效的完成相关工作,一下简单总结记录。 将目录下的多个文件合并成一个文件 1、进入目录, cat a.txt b.txt c.txt > all.txt cat *.txt > all.txt 2、命令将当前目录下的文件合并 find . -type f -exec cat {} \;>all_files.txt 3、通过命名特征查询合并 find . -name "*.txt" | xargs cat > all.txt 4、合并并设置默认换行符 find . -name "*.txt" | xargs sed 'a\' > all_a.txt 替换文件中的字符串 1、将当前目录下包含jack串的文件中,jack字符串替换为tom sed -i "s/jack/tom/g" `grep "jack" -rl ./` 2、将某个文件中的jack字符串替换为tom sed -i "s/jack/tom/g" test.txt 3、替换fileName文件中的空格 sed s/[[:space:]]//g fileName 4、替换fileName文件中的空行 grep -v "^$" fileName 5、统计fileName文件中文本行数 awk 'END{print NR}' fileName 6、对fileName1文件中的内容进行去重并输出到fileName2中 cat fileName1 | sort -n | sort -u > fileName2 sort -n 表示 排序 sort -u 表示 去重 sort -r 表示 对当前排序取反 sort -o 可以重定向到原文件(即为在源文件上修改)

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行