高级命令行文本处理cut,sed,awk

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}'  指定分隔符打印
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值