linux - 如何从文件中的匹配行中提取子字符串?

标签 linux shell sed grep

我使用:

cat display.txt | sed -e 's/...\(.*\).../\1/g' 

在("...") 之间获取字符串。但是,它给了我这个结果,它是文件的全部内容。我怎样才能从中提取 "hhgggeeeee"

= New Index: 98:4F:EE:06:0B:03 (BR/EDR,UART,hci0)               
[hci0] 0.595705 > ACL Data RX: Handle 12 flags 0x02 dlen 19                    
[hci0] 11.420307 Channel: 64 len 15 [PSM 0 mode 0] {chan 0}     
1b ef 17 68 68 67 67 67 65 65 65 65 0d 0a 8f 
...hhgggeeee... > HCI Event: Mode Change (0x14) plen 6 [hci0] 11.923905
Status: Success (0x00) Handle: 12 Mode: Active (0x00)
Interval: 0.000 msec (0x0000)

最佳答案

$ sed -n 's/.*\.\{3\}\(.*\)\.\{3\}.*/\1/p' file
hhgggeeee

关于linux - 如何从文件中的匹配行中提取子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41905400/

相关文章:

linux - 匹配 csv 中的列并合并

c# - 如何跨进程锁定/解锁文件?

c++ - 使用 boost 所有 linux 发行版编译 C++

linux - 在 Bash 中,如何访问文件上次编辑的日期?

linux - sed:用一个下划线替换一系列点

linux - 删除包含符号链接(symbolic link)的文件夹

shell - CircleCI 对非 0 退出代码有什么作用?

linux - shell脚本: convert raw output (from dict lines into csv)

awk - 用键分隔行并存储在不同的文件中

sql - 运行命令行 SQLite 查询并退出