网站首页 > 文章中心 > 其它

linux命令截取字符

作者:小编 更新时间:2023-09-04 16:38:24 浏览量:48人看过

Linux命令行操作一个文件,通过管道进行字符串截取,该如何操作?

linux字符串提取数字

# cat /proc/meminfo |grep -w "MemTotal"

使用tr命令截取字符串

linux中的字符截取

参考链接:

从 截去 的角度上说,总结为: 左#右%

从 截取 的角度上说,反过来.

其中,string 表示要截取的字符,chars 是指定的字符(或者子字符串), * 是通配符的一种,表示任意长度的字符串.

*chars 连起来使用的意思是:忽略左边的所有字符,直到遇见 chars(chars 不会被截取).

如果希望直到最后一个指定字符(子字符串)再匹配结束,那么可以使用##,具体格式为:

使用%号可以截取指定字符(或者子字符串)左边的所有字符,具体格式如下:

请注意 * 的位置,因为要截取 chars 左边的字符,而忽略 chars 右边的字符,所以*应该位于 chars 的右侧.其他方面%和#的用法相同,这里不再赘述,仅举例说明:

linux有什么命令可以提取指定的字符串

① 例子

提取字符串以下字符串 error: 与 : 之间的子字符串.并消除空格.

该命令涉及 sed 命令的'反向引用'章节, \1 代表 (.*)

nv_net_tools.h1

note: 在以上编译过程中我们发现,编译器提示说找不到nv_net_tools.h文件,而现实中我们也不需要这个文件的包含了,需要删除包含nv_net_tools.h 文件中的该行代码.

目标字符串

//提取 from ?内容echo

//提取 to 内容echo

//提取 url ?内容echo

//提取 level 内容echo

echo?ret_val?is?:?[?$ret_val?]from="$(echo?$ret_val?|?sed?'s/.*from\"\:\(.*\)/\1/'?|?cut?-d?','?-f1?|?sed?'s/"//g')"

echo?from:?$from

to="$(echo?$ret_val?|?sed?'s/.*to\"\:\(.*\)/\1/'?|?cut?-d?','?-f1?|?sed?'s/"//g')"

echo?to:?$to

url="$(echo?$ret_val?|?sed?'s/.*url\"\:\(.*\)/\1/'?|?cut?-d?','?-f1?|?sed?'s/"//g')"

echo?url:?$url

level="$(echo?$ret_val?|?sed?'s/.*level\"\:\(.*\)/\1/'?|?cut?-d?','?-f1?|?sed?'s/"//g')"

执行结果:

level:?0

I.总结

要注意命令行执行,与脚本文件执行之间的差异性.

linux 中如何截取2个字符串中间的字符?

可以用awk、sed、tr、perl都能实现

set s = '"stratum":{"accepted_shares":1,"algorithm"'

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章