Nov 02 17:20:45 host kernel: [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
Nov 02 17:20:45 host kernel: [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0
Nov 02 17:20:47 host kernel: intel_rapl_common: Found RAPL domain package
Nov 02 17:20:47 host kernel: intel_rapl_common: Found RAPL domain core
Nov 02 17:20:47 host kernel: intel_rapl_common: Found RAPL domain uncore
Nov 02 17:20:47 host kernel: intel_rapl_common: Found RAPL domain dram
Nov 02 17:20:48 host kernel: broken atomic modeset userspace detected, disabling atomic
Nov 02 17:20:49 host kernel: r8169 0000:03:00.1 enp3s0f1: Link is Up - 1Gbps/Full
Nov 02 17:20:49 host kernel: IPv6: ADDRCONF(NETDEV_CHANGE): enp3s0f1: link becomes ready
Nov 02 17:20:50 host kernel: Bluetooth: RFCOMM TTY layer initialized
Nov 02 17:20:50 host kernel: Bluetooth: RFCOMM socket layer initialized
Nov 02 17:20:50 host kernel: Bluetooth: RFCOMM ver 1.11
Nov 02 17:20:51 host kernel: kauditd_printk_skb: 22 callbacks
suppressed
i have a text input like above. How can i split this input from "host kernel: ". For the first line, i want to get " [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver " by regex.
You could use python's built in string.split()
method:
>>> a = "Nov 02 17:20:45 host kernel: [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver"
>>> a.split('host kernel:')[1]
' [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver'
Here's one way to do it using regex.
import re
s = 'Nov 02 17:20:45 host kernel: [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver'
patt = '.+host kernel: (.+)$'
ans = re.search(patt, s).groups()[0]
print(ans)
--------------------------------------------------
'[drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver'
Assuming that you have a text block and you don't want the last line ("suppressed")
text = '''Nov 02 17:20:45 host kernel: [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
Nov 02 17:20:45 host kernel: [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0
Nov 02 17:20:47 host kernel: intel_rapl_common: Found RAPL domain package
Nov 02 17:20:47 host kernel: intel_rapl_common: Found RAPL domain core
Nov 02 17:20:47 host kernel: intel_rapl_common: Found RAPL domain uncore
Nov 02 17:20:47 host kernel: intel_rapl_common: Found RAPL domain dram
Nov 02 17:20:48 host kernel: broken atomic modeset userspace detected, disabling atomic
Nov 02 17:20:49 host kernel: r8169 0000:03:00.1 enp3s0f1: Link is Up - 1Gbps/Full
Nov 02 17:20:49 host kernel: IPv6: ADDRCONF(NETDEV_CHANGE): enp3s0f1: link becomes ready
Nov 02 17:20:50 host kernel: Bluetooth: RFCOMM TTY layer initialized
Nov 02 17:20:50 host kernel: Bluetooth: RFCOMM socket layer initialized
Nov 02 17:20:50 host kernel: Bluetooth: RFCOMM ver 1.11
Nov 02 17:20:51 host kernel: kauditd_printk_skb: 22 callbacks
suppressed'''
result = [x.split('host kernel: ')[1] for x in text.split('\n')[0:-2]]
result
['[drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver',
'[drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0',
'intel_rapl_common: Found RAPL domain package',
'intel_rapl_common: Found RAPL domain core',
'intel_rapl_common: Found RAPL domain uncore',
'intel_rapl_common: Found RAPL domain dram',
'broken atomic modeset userspace detected, disabling atomic',
'r8169 0000:03:00.1 enp3s0f1: Link is Up - 1Gbps/Full',
'IPv6: ADDRCONF(NETDEV_CHANGE): enp3s0f1: link becomes ready',
'Bluetooth: RFCOMM TTY layer initialized',
'Bluetooth: RFCOMM socket layer initialized',
'Bluetooth: RFCOMM ver 1.11']
User contributions licensed under CC BY-SA 3.0