Linux中字符串提取是将已有的字符串中的特定部分抽取出来的过程,有一系列简易的方法可以实现该功能,其中就包括AWK、sed、cut等命令。
首先,使用awk命令提取字符串非常简单,只需要给出一个正则表达式即可,AWK中提取字符串的语法格式如下:
awk ‘/正则表达式/ { print $要输出的字段}’ fileName
可以看到,只需要在/正则表达式/中使用希望提取的内容,并在$要输出的字段处说明需要输出的字段,即可实现字符串提取的只要,举例如下:
例如有一个文件内容如下:
如果想要提取Apple这个字符串,可以使用如下awk命令:
awk ‘/Apple/ {print $2}’ filename
此时就可以看到 Apple 的输出结果了。
其次,还可以使用sed命令提取字符串,sed 命令的提取语法格式如下:
sed -n ‘/正则表达式/p’ filename
可以看出,使用 sed 命令提取字符串时,只需要在/正则表达式/中指定匹配的内容,就可以实现字符串提取的功能,例如:
sed -n ‘/Apple/p’ filename
即可将 Apple 字符串提取出来。
再者,还有一个 cut 命令,可以根据分隔符将字符串提取出来,语法格式如下:
cut -d 分隔符 -f 需要获取的字段 filename

可以看出,只要在 -d 后指定分隔符,在 -f 后指定需要获取的字段,即可实现字符串提取的功能,例如:
echo “Apple Banana Orange” |cut -d ‘ ‘ -f 1
可以将 Apple 字符串提取出来。
通过以上介绍,可以看出Linux中字符串提取的方法有很多,以上三种是以为常用的,除此之外还可以使用别的命令实现,如grep、xargs等,详细的使用方法可以参考相关的资料。
香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云 服务器 和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
linux查找目录下的所有文件中是否含有某个字符串
linux系统自带的grep命令是一个强大的搜索工具,可以从各文件中查询匹配的字符信息。查找目录下的所有文件中是否含有某个字符串,命令如下:grepstring./*“string为待查找串 , ./* 表示当前目录下所有文件grep常用用法:# grep [-acinv] [--color=auto] 搜寻字符串 filename选项与参数:-a :将 binary 文件以 text 文件的方式搜寻数据-c :计算找到 搜寻字符串 的次数-i :忽略大小写的不同,所以大小写视为相同-n :顺便输出行号-v :反向选择,亦即显示出没有 搜寻字符串 内容的那一行!--color=auto :可以将找到的关键词部分加上颜色的显示!
linuxC语言 从一个只读文件中取出目标字符串后面的值,有什么好办法
如果文件不大,用fread读入一个大字符串str。 char user[256] = {0};p1 = strstr(str, user=);if(p1){ p1+= strlen(user=); p2 = strchr(p1, ); if(p2)memcpy(user, p1, p2 - p1);}pwd处理的方法相似:查找key, 得到头部地址,找尾部,提取。 此外,也可以用regex处理,man regex。
在linux 系统中使用adduser 命令新建的用户无法使用
没有添加家目录吧,这样默认会切到 root,而根目录不可访问。可以修改用户信息: usermod -d /home/username username
发表评论