linux grep命令,怎么取两个字符串之间的内容?比如,abcdefg我要找ab到fg之

linux grep命令,怎么取两个字符串之间的内容?比如,abcdefg我要找ab到fg之,第1张

这个需求不能用grep来实现,本质上是字符串的切割查找提取子串,可用awk来实现,例

echo abcdefghelloword | awk -v head="ab" -v tail="fg" '{print substr($0, index($0,head)+length(head),index($0,tail)-index($0,head)-length(head))}'

以上关键是计算出开头标记"ab",和结束标记"fg" 在字符串中的位置

执行结果就是

cde

需要准备的材料分别是:电脑、linux连接工具。

1、首先连接上linux主机,进入命令行状态。

2、在命令行状态下,用cd命令进到文件目录,用vi命令打开文件。

3、此时会看到有3行记录,以查询同时包含123和fg字符为例。

4、在命令行页面,输入:grep 123 test.txt |grep fg,按回车。

5、此时会打印出同时包含123和fg的行。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8709253.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-20
下一篇2023-04-20

发表评论

登录后才能评论

评论列表(0条)

    保存