cut
echo $PATH
#会输出设置的环境变量的值/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/jdk1.8.0_144/bin:/opt/hadoop-2.8.1/bin:/root/bin
echo $PATH | cut -d ':' -f 5 #以冒号分割取第五个
/opt/jdk1.8.0_144/bin #输出的值 echo $PATH的值作为参数传递给cut执行
echo $PATH | cut -d ':' -f 3,5 取第三个和第五个
echo $PATH | cut -d ':' -f 3- 取三往后的
echo $PATH | cut -d ':' -f 1-3 取1-3
echo $PATH | cut -d ':' -f 1-3,5 取1-3和第五个
cut -d ‘分隔符’ -f fields 用于所有特定分隔符
cut -c 字符区间 用于排列整齐的区间
sort 排序
cat /etc/passwd | sort 会讲文本排序,每一行的首字母
cat /etc/passwd | sort -t ':' -k 3 按冒号分割的第三列来排序(会按照字符串排序)
cat /etc/passwd | sort -t ':' -k 3nr r表示的是倒叙排
cat /etc/passwd | sort -t ':' -k 6.2,6.4 -k 1r 按第六列的第2个和第四个字符来排序
cat /etc/passwd | sort -t ':' -k 6.2,6.4 -k 1r -u u表示的是去重
sed
sed '2d' file1 去掉file1文件的第二行
sed -i '2d' file1 去掉file1文件第二行,并且把修改后的结果写入文件(一般不要修改,要复制写)
sed '2d,$d' file1 删除文件file1的第二行到结尾行
sed '$d' file1 删除file1文件的最后一行
sed 's/test/mytest/g' file1 把file1文件中的所有test替换成mytest,如果没有g则只有每行第一个test替换成mytest
sed 's/^test/mytest/g' file1 替换以test开头的
sed 's/^test/&mytest/' file1 在以test开头的后面加上mytest &表示的是后面加上
sed -n 's/\(love\)able/\1laok/p' file1 讲loveable替换成了lovelaok love不替换, n,p一起使用表示只打印那些花生替换的行
sed命令非常多,这里只是列举比较常用的,在使用的可以有使用到的要查看帮助
awk
last -n 5 输出最近登陆的5个人的信息
last -n 5 |awk '{print $1}' #awk默认分隔符是空格或tab
cat /etc/passwd |awk -F ':' '{print $1}' 指定分隔符打印