shell-cut,sed,awk
一、cut:强大文本编辑处理工具,可以将文本按列进行划分的文本处理 1、cut切割提取列 cut 文件或数据 -d 分隔符切割 -f 提取第x列 2、cut切割提取字符 cut 文件或数据 -c 提取字符范围(n-,n-m,-n,n1,n2..) 3、cut切割提取字节 cut 文件或数据 -b 提取字节范围 -nb 取消多字节字符分割( echo "java编程" | cut -b -5 才可以把"编"正常显示) 示例 1、提取文件中的第一列数据 cut cut.txt -d " " -f 1 2、提取文件中每行前三个字符 cut cut.txt -c -3 3、提起字符串前五个字节 echo "java编程" | cut -b -5 echo "java编程" | cut -nb -5 4、切割提取bash进程的pid号 ps -aux | grep 'bash' | head -n 1 | cut -d " " -f 8
二、sed:可以对文本文件的每一行数据匹配查询之后进行增、删、改、查等操作,支持按行、按字段、按正则匹配文本内容,灵活方便,特别适合于大文件的编辑. 示例 1、向文件中添加数据 1.1 指定行号的前或后面添加数据 sed '3ahello' sed.txt 3,代表第三行 a,代表在后面添加 sed '3ihello' sed.txt 3,代表第三行 i,代表在前面添加 1.2、指定内容前或后面添加数据 sed '/scwyfy/ihello' sed.txt 在scwyfy前面添加hello sed '/scwyfy/ahello' sed.txt 在scwyfy后面添加hello 1.3、最后一行前或后添加数据 sed '$ihello' sed.txt 在最后一行前面添加hello sed '$ahello' sed.txt 在最后一行后面添加hello 2、删除文件中的数据 1.1 删除第二行的数据 sed '2d' sed.txt 2,代表第二行 d,删除 1.2 删除第一、四行数据 sed '1d;4d' sed.txt 1.3 删除奇数行数据 sed '1~2d' sed.txt 1,从第一行开始,2,每隔行数 1.4 删除指定范围的多行数据 sed '1,3d' sed.txt 1,从第一行开始, 3结束行数 sed '1,3!d' sed.txt 删除从1-3行取反的数据 1.5 删除最后一行 sed '$d' sed.txt 1.6 删除匹配scwyfy的行 sed '/scwyfy/d' sed.txt