十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
linux基础-字符处理
创新互联建站专注于申扎网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供申扎营销型网站建设,申扎网站制作、申扎网页设计、申扎网站官网定制、重庆小程序开发服务,打造申扎网络公司原创品牌,更为您提供申扎网站排名全网营销落地服务。
linux管道命令(pipe)
菜鸟教程
管道是一种通信机制,通常用于进程间的通信,它表现出来的形式将前面每一个进程的输出直接作为下一个进程的输入。
管道命令使用 | 作为界定符号。
默认情况下,sort命令以第一列进行排序
反向排序
按指定列进行排序,默认是空白符,也可以用 -t 指定分隔符
第二列排序的时候可以加 -n 进行数值排序
进行排序后,排序结果会显示在终端,但是原文件不会改变,可以用-o重定向或者另存。用 覆盖某个文件会失败,数据被清空,但是用 追加可以
为初学者提供的uniq命令教程及示例
uniq 命令用于检查及删除文本文件中重复出现的行列。uniq命令只有在相邻的情况下才会删除重复的行,因此一般与 sort 命令结合使用,此外,该命令也可以检查文本文件中重复出现的行列,默认区分大小写。
准备一个文件
准备一个文件
以分割符指定分割某些特定的列
Linux tr 命令用于转换或删除文件中的字符。
tr 指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备。
语法:tr [OPTION]…SET1[SET2]
小写转换为大写
删除字符
Linux paste 命令用于合并文件的列。
paste 指令会把每个文件以列对列的方式,一列列地加以合并。
不加参数会默认以制表符为分界列对列合并
-d可以设置以何种字符合并
使用s参数时。单个文件会将该文件的多行数据合并成一行显示,多个文件会将各个文件单独合并成一行之后再行对行合并
Linux split命令用于将一个文件分割成数个。
该指令将大文件分割成较小的文件,在默认情况下将按照每1000行切割成一个小文件。
将根目录文件信息写入文件
对上面的文件9行为一个文件进行分割
以1k字节分割文件
不加参数会同时显示行数,字数,Bytes数,加上上述参数会单独显示其中一项
cut 命令在 man 文档中的含义是 删除文件中每一行的指定部分 。其大意就跟 cut 单词本身的含义一样,是用来剪切数据的。
输出第二个字符
以逗号为分割符,截取第二部分
cut命令可以将一串字符作为列来显示,字符字段的记法:
例如:打印从第 8 个字符开始到结尾
Linux下可以用strstr()函数定位子串所在的位置,用来实现用子串分隔一个字符串。man strstr可以看函数相关介绍
$ man strstr
NAME
strstr - locate a substring
SYNOPSIS
#include string.h
char *strstr(const char *haystack, const char *needle);
DESCRIPTION
The strstr() function finds the first occurrence of the substring needle in the string haystack. The terminating `\0' characters are not compared.
strstr()函数实现从haystack串中,查找第一次出现的needle子串,只比较有效字符,结束符\0不算在内。
如:
#include stdio.h
#include string.h
int main()
{
char s[]="abc@#123@#def@456@#ghi#789";
char sub[]="@#";
char *pc,*pb;
pb=pc=s ; //pb指向字符串头
while( pc=strstr(pc,sub) ) //查找匹配字符串位置
{
*pc='\0'; //置字符串结束符
puts(pb); //输出当前字符串
pc+=strlen(sub); //跳过分隔符串
pb=pc; //pb指向新的起始位置
}
if ( pb )
puts(pb);
return 0;
}