linux 常用操作demo
table.txt文本
t1 d2
t11 d3
t2
t3
t4
awk 擅长列输出
假设对table表文本 输出每个表删表语句
cat table.txt | awk '{print "drop table " $1 " ;"}'
当然还可以使用正则匹配其中的列
cat table.txt | awk '/t1/{print "drop table " $1 " ;"}'
awk操作可以参照
https://www.cnblogs.com/ftl1012/p/9250541.html
http://www.ruanyifeng.com/blog/2018/11/awk.html
sed 擅长行处理
查找到的包含d2列(正则) 将d更换为table 并不显示其他未找到的(-n)
cat table.txt | sed -n '/d2/ {s/d/table/p}
sed操作可以参照
https://www.runoob.com/linux/linux-comm-sed.html
cut 擅长行内切分
cat test2.txt
No;Name;Mark;Percent
01;tom;69;91
02;jack;71;87
03;alex;68;98
cut -f2 -d";" test2.txt
结果:
Name
tom
jack
alex
cut -c1,2
结果
01
02
03
cut操作可以参照
https://www.cnblogs.com/Spiro-K/p/6361646.html
组合使用
找到hadoop用户启动的hive程序进程号
ps -ef | grep hive | sed -n '/hadoop/p' | cut -f4 -d" "
tree工具-树状图列出目录的内容,目录结构一目了然
yum install -y tree
tree -L 2 //获得两层目录
结果
├── apache-hive-1.2.1-bin
│ ├── bin
│ ├── conf
│ ├── examples
│ ├── hcatalog
│ ├── lib
│ └── scripts
tree指令的详细操作
(1)tree -a 显示所有文件和目录(不加-a,则隐藏目录不显示)
(2)tree -d 显示目录名称而非内容
(3)tree -f 在每个文件或目录之前,显示完整的相对路径名称
(4)tree -F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。
(5)tree -r 以相反次序排列
(6)tree -t 用文件和目录的更改时间排序
(7)tree -L n 只显示 n 层目录 (n 为数字)
(8)tree -dirsfirst 目录显示在前,文件显示在后
(9)可以加的参数
-A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。
-C 在文件和目录清单加上色彩,便于区分各种类型。
-D 列出文件或目录的更改时间。
-g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
-i 不以阶梯状列出文件或目录名称。
-I 不显示符合范本样式的文件或目录名称。
-l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
-n 不在文件和目录清单加上色彩。
-N 直接列出文件和目录名称,包括控制字符。
-p 列出权限标示。
-P 只显示符合范本样式的文件或目录名称。
-q 用"?"号取代控制字符,列出文件和目录名称。
-s 列出文件或目录大小。
持续更新!!