Python 2.7 Python2.7需要grep文件中的特定单词
我需要从下面的文件中grep一个表达式:请帮助我想grep disk@后面的单词直到逗号Python 2.7 Python2.7需要grep文件中的特定单词,python-2.7,Python 2.7,我需要从下面的文件中grep一个表达式:请帮助我想grep disk@后面的单词直到逗号 cat out1 boot-device=/pci@400/pci@2/pci@0/pci@e/scsi@/disk@w5000cca025884d5d,0:a rootmirror rootdisk boot-device-index=0 像这样?它会打印出来”disk@w5000cca025884d5d" 可能需要将逗号作为特殊字符转义: import re s = 'cat out1 boot-d
cat out1 boot-device=/pci@400/pci@2/pci@0/pci@e/scsi@/disk@w5000cca025884d5d,0:a rootmirror rootdisk boot-device-index=0
像这样?它会打印出来”disk@w5000cca025884d5d"
可能需要将逗号作为特殊字符转义:
import re
s = 'cat out1 boot-device=/pci@400/pci@2/pci@0/pci@e/scsi@0/disk@w5000cca025884d5d,0:a rootmirror rootdisk boot-device-index=0'
match = re.search(r'disk@(.*)\,', s)
if match:
print match.group(1)
产出:
w5000cca025884d5d
Grep是一个shell工具。这是一个什么样的Python问题?我的意思是想得到这个词disk@till逗号。请检查以下内容:disk@w5000cca025884d5dI假设“grep”的意思是“使用正则表达式”?Python为此提供了一个库。请参阅以下内容:查看此工具:(请确保在左侧将其设置为Python)和Python正则表达式文档。非常感谢,我可以打印此作品,但我不需要逗号。请检查:disk@w5000cca025884d5d当然就像我上面所做的那样,把它移到()之外。非常感谢它的工作。但是我的错误是我的要求是搜索表达式disk@and逗号前少一个字符。我真的很抱歉。你可以把disk@表达式移到括号外,就像我用逗号做的那样。但我不明白你说少一个是什么意思?所以你想要w5000cca025884d5而不是w5000cca025884d5d?如果您只想删除最后一个字符,您可以添加一个[:-1]如下:print(m.group(1)[:-1]),非常感谢您的及时回复。这很有效。我想从输出中删除第一个和最后一个字母。这是我的要求。非常感谢您的帮助。好的,但是另一个答案没有解决您的问题吗?也许您想按照另一个答案的注释中所述,切掉第一个和最后一个字符:
print match.group(1)[1:-1]
->5000cca025884d5
?
w5000cca025884d5d