##linux下对文件去重
sort -n test.txt | uniq 这是先把重复的sort在一起,再利用uniq去重,-n是按照数值大小排序
sort -u test.txt
##去除空白行(包括空格和\t)
awk NF file #只能打印出字段数(NF)不为零(即大于零)的行
##取进程号
ps -ef |grep service_name
##杀死进程
kill process_id
##删除首行
sed -i '1d' a.txt
##删除前100行
sed -i '1,100d' a.txt
##删除尾行
sed -i '$d' a.txt
##拷贝1到10行到第3行
命令行: 1,10 co 3
or
yy:复制光标所处当前行
n + yy:复制光标所在行及以下共 n 行
按 p 粘贴在光标所在行
##剪切1到10行到第3行
1,10 m 3
or
dd:剪切光标所处当前行
n + dd:剪切光标所在行及以下共 n 行
按 p 粘贴在光标所在行
##删除1到10行
1,10 de
or
dd:删除光标所处当前行
n + dd:删除光标所在行及以下共 n 行
## 指定输入分割符和输出分割符
awk -F'\t' -v OFS='\t' '{if ($2<120) ;print $1,$2,$6}' data.txt
## 后台运行命令
nohup command & #一般形式
nohup ./main >yourfile 2>&1 & #实例
## 查看后台运行的命令
jobs
##ps命令查看用户进程
ps -u lidongchao002
ps -ef|grep lidongchao
#替换文件内容
:s/well/good/ 替换当前行第一个 well 为 good
:s/well/good/g 替换当前行所有 well 为 good
:n,$s/well/good/ 替换第 n 行开始到最后一行中每一行的第一个 well 为 good
:n,$s/well/good/g 替换第 n 行开始到最后一行中每一行所有 well 为 good
n 为数字,若 n 为 .,表示从当前行开始到最后一行
:%s/well/good/(等同于 :g/well/s//good/) 替换每一行的第一个 well 为 good
:%s/well/good/g(等同于 :g/well/s//good/g) 替换每一行中所有 well 为 good
可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#well/#good/# 替换当前行第一个 well/ 为 good/
:%s#/usr/bin#/bin#g
可以把文件中所有路径/usr/bin换成/bin
#传文件夹:
先在目标机器执行命令准备好接收(1221为任意可用端口)
nc -l 1221 | tar -zxvf -
然后在源机器执行命令
tar -zcvf - [文件夹] | nc [目标IP] 1221
#批量杀死进程
ps -ef|grep mcfcm_st|grep -v grep|cut -c 9-15|xargs kill -9
#按照某一列去重
sort -t " " -k 3,3 -u 文件名
hive
##拉取hive表,且分组&组内排序
hive -e "select city_name,price,row_number() over(partition by city_name order by price) from table_name where pt='20190816000000';" >your_file