文本处理,谁能帮我下。用shell实现。
发表于 : 2012-03-12 15:08
以“--”为分界线
把以下文本输出3个独立的文件
“--”是分割符,2个“--”把文本分割成3个文件
shell实现
谢谢
scsi.type = 'cdrom' (string)
scsi.vendor = 'hp' (string)
udi = '/org/freedesktop/Hal/devices/storage_model_DVD_RAM_GH80N'
block.device = '/dev/sr0' (string)
block.is_volume = false (bool)
block.major = 11 (0xb) (int)
block.minor = 0 (0x0) (int)
block.storage_device = '/org/freedesktop/Hal/devices/storage_model_DVD_RAM_GH80N' (string)
info.addons = {'hald-addon-storage'} (string list)
info.capabilities = {'storage', 'block', 'storage.cdrom'} (string list)
info.category = 'storage' (string)
info.interfaces = {'org.freedesktop.Hal.Device.Storage', 'org.freedesktop.Hal.Device.Storage', 'org.freedesktop.Hal.Device.Storage.Removable'} (string list)
info.parent = '/org/freedesktop/Hal/devices/pci_8086_2822_scsi_host_0_scsi_device_lun0' (string)
info.product = 'DVD-RAM GH80N' (string)
info.udi = '/org/freedesktop/Hal/devices/storage_model_DVD_RAM_GH80N' (string)
info.vendor = 'hp' (string)
linux.hotplug_type = 3 (0x3) (int)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1f.2/host2/target2:0:0/2:0:0:0/block/sr0' (string)
org.freedesktop.Hal.Device.Storage.method_argnames = {'extra_options', 'extra_options'} (string list)
org.freedesktop.Hal.Device.Storage.method_execpaths = {'hal-storage-eject', 'hal-storage-closetray'} (string list)
org.freedesktop.Hal.Device.Storage.method_names = {'Eject', 'CloseTray'} (string list)
org.freedesktop.Hal.Device.Storage.method_signatures = {'as', 'as'} (string list)
storage.automount_enabled_hint = true (bool)
storage.bus = 'pci' (string)
storage.cdrom.bd = false (bool)
storage.cdrom.bdr = false (bool)
storage.cdrom.bdre = false (bool)
storage.cdrom.cdr = true (bool)
storage.cdrom.cdrw = true (bool)
storage.cdrom.dvd = true (bool)
storage.cdrom.dvdplusr = true (bool)
storage.cdrom.dvdplusrdl = true (bool)
storage.cdrom.dvdplusrw = true (bool)
storage.cdrom.dvdplusrwdl = false (bool)
storage.cdrom.dvdr = true (bool)
storage.cdrom.dvdram = true (bool)
storage.cdrom.dvdrdl = true (bool)
storage.cdrom.dvdrw = true (bool)
storage.cdrom.hddvd = false (bool)
storage.cdrom.hddvdr = false (bool)
storage.cdrom.hddvdrw = false (bool)
storage.cdrom.mo = false (bool)
storage.cdrom.mrw = true (bool)
storage.cdrom.mrw_w = true (bool)
storage.cdrom.read_speed = 7056 (0x1b90) (int)
storage.cdrom.support_media_changed = true (bool)
storage.cdrom.support_multisession = true (bool)
storage.cdrom.write_speed = 7057 (0x1b91) (int)
storage.cdrom.write_speeds = {'7057', '7056', '5646', '5645', '4235', '4234', '2822', '1411', '706'} (string list)
storage.drive_type = 'cdrom' (string)
storage.firmware_version = 'RF01' (string)
storage.hotpluggable = false (bool)
storage.lun = 0 (0x0) (int)
storage.media_check_enabled = true (bool)
storage.model = 'DVD-RAM GH80N' (string)
storage.no_partitions_hint = true (bool)
storage.originating_device = '/org/freedesktop/Hal/devices/computer' (string)
storage.partitioning_scheme = '' (string)
storage.removable = true (bool)
storage.removable.media_available = false (bool)
storage.removable.support_async_notification = false (bool)
storage.requires_eject = true (bool)
storage.size = 0 (0x0) (uint64)
storage.vendor = 'hp' (string)
--
scsi.type = 'cdrom' (string)
scsi.vendor = 'TSSTcorp' (string)
udi = '/org/freedesktop/Hal/devices/storage_serial_TSSTcorp_CDDVDW_SE_S084F_R86XB57_0_0'
block.device = '/dev/sr2' (string)
block.is_volume = false (bool)
block.major = 11 (0xb) (int)
block.minor = 2 (0x2) (int)
block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_TSSTcorp_CDDVDW_SE_S084F_R86XB57_0_0' (string)
info.addons = {'hald-addon-storage'} (string list)
info.capabilities = {'storage', 'block', 'storage.cdrom'} (string list)
info.category = 'storage' (string)
info.interfaces = {'org.freedesktop.Hal.Device.Storage', 'org.freedesktop.Hal.Device.Storage', 'org.freedesktop.Hal.Device.Storage.Removable'} (string list)
info.parent = '/org/freedesktop/Hal/devices/usb_device_e8d_1836_R86XB57_if0_scsi_host_0_scsi_device_lun0' (string)
info.product = 'CDDVDW SE-S084F' (string)
info.udi = '/org/freedesktop/Hal/devices/storage_serial_TSSTcorp_CDDVDW_SE_S084F_R86XB57_0_0' (string)
info.vendor = 'TSSTcorp' (string)
linux.hotplug_type = 3 (0x3) (int)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/host9/target9:0:0/9:0:0:0/block/sr2' (string)
org.freedesktop.Hal.Device.Storage.method_argnames = {'extra_options', 'extra_options'} (string list)
org.freedesktop.Hal.Device.Storage.method_execpaths = {'hal-storage-eject', 'hal-storage-closetray'} (string list)
org.freedesktop.Hal.Device.Storage.method_names = {'Eject', 'CloseTray'} (string list)
org.freedesktop.Hal.Device.Storage.method_signatures = {'as', 'as'} (string list)
storage.automount_enabled_hint = true (bool)
storage.bus = 'usb' (string)
storage.cdrom.bd = false (bool)
storage.cdrom.bdr = false (bool)
storage.cdrom.bdre = false (bool)
storage.cdrom.cdr = true (bool)
storage.cdrom.cdrw = true (bool)
storage.cdrom.dvd = true (bool)
storage.cdrom.dvdplusr = true (bool)
storage.cdrom.dvdplusrdl = true (bool)
storage.cdrom.dvdplusrw = true (bool)
storage.cdrom.dvdplusrwdl = false (bool)
storage.cdrom.dvdr = true (bool)
storage.cdrom.dvdram = true (bool)
storage.cdrom.dvdrdl = true (bool)
storage.cdrom.dvdrw = true (bool)
storage.cdrom.hddvd = false (bool)
storage.cdrom.hddvdr = false (bool)
storage.cdrom.hddvdrw = false (bool)
storage.cdrom.mo = false (bool)
storage.cdrom.mrw = true (bool)
storage.cdrom.mrw_w = true (bool)
storage.cdrom.read_speed = 4234 (0x108a) (int)
storage.cdrom.support_media_changed = true (bool)
storage.cdrom.support_multisession = true (bool)
storage.cdrom.write_speed = 0 (0x0) (int)
storage.cdrom.write_speeds = {} (string list)
storage.drive_type = 'cdrom' (string)
storage.firmware_version = 'TS00' (string)
storage.hotpluggable = true (bool)
storage.lun = 0 (0x0) (int)
storage.media_check_enabled = true (bool)
storage.model = 'CDDVDW SE-S084F' (string)
storage.no_partitions_hint = true (bool)
storage.originating_device = '/org/freedesktop/Hal/devices/usb_device_e8d_1836_R86XB57_if0' (string)
storage.partitioning_scheme = '' (string)
storage.removable = true (bool)
storage.removable.media_available = false (bool)
storage.removable.support_async_notification = false (bool)
storage.requires_eject = true (bool)
storage.serial = 'TSSTcorp_CDDVDW_SE-S084F_R86XB57-0:0' (string)
storage.size = 0 (0x0) (uint64)
storage.vendor = 'TSSTcorp' (string)
--
scsi.type = 'cdrom' (string)
scsi.vendor = 'MATSHITA' (string)
udi = '/org/freedesktop/Hal/devices/storage_serial_MATSHITA_DVD_ROM_SR_8178_0000000093_0_0'
block.device = '/dev/sr1' (string)
block.is_volume = false (bool)
block.major = 11 (0xb) (int)
block.minor = 1 (0x1) (int)
block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_MATSHITA_DVD_ROM_SR_8178_0000000093_0_0' (string)
info.addons = {'hald-addon-storage'} (string list)
info.capabilities = {'storage', 'block', 'storage.cdrom'} (string list)
info.category = 'storage' (string)
info.interfaces = {'org.freedesktop.Hal.Device.Storage', 'org.freedesktop.Hal.Device.Storage', 'org.freedesktop.Hal.Device.Storage.Removable'} (string list)
info.parent = '/org/freedesktop/Hal/devices/usb_device_5e3_701_0000000093_if0_scsi_host_0_scsi_device_lun0' (string)
info.product = 'DVD-ROM SR-8178' (string)
info.udi = '/org/freedesktop/Hal/devices/storage_serial_MATSHITA_DVD_ROM_SR_8178_0000000093_0_0' (string)
info.vendor = 'MATSHITA' (string)
linux.hotplug_type = 3 (0x3) (int)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.0/host8/target8:0:0/8:0:0:0/block/sr1' (string)
org.freedesktop.Hal.Device.Storage.method_argnames = {'extra_options', 'extra_options'} (string list)
org.freedesktop.Hal.Device.Storage.method_execpaths = {'hal-storage-eject', 'hal-storage-closetray'} (string list)
org.freedesktop.Hal.Device.Storage.method_names = {'Eject', 'CloseTray'} (string list)
org.freedesktop.Hal.Device.Storage.method_signatures = {'as', 'as'} (string list)
storage.automount_enabled_hint = true (bool)
storage.bus = 'usb' (string)
storage.cdrom.bd = false (bool)
storage.cdrom.bdr = false (bool)
storage.cdrom.bdre = false (bool)
storage.cdrom.cdr = false (bool)
storage.cdrom.cdrw = false (bool)
storage.cdrom.dvd = true (bool)
storage.cdrom.dvdplusr = false (bool)
storage.cdrom.dvdplusrdl = false (bool)
storage.cdrom.dvdplusrw = false (bool)
storage.cdrom.dvdplusrwdl = false (bool)
storage.cdrom.dvdr = false (bool)
storage.cdrom.dvdram = false (bool)
storage.cdrom.dvdrdl = false (bool)
storage.cdrom.dvdrw = false (bool)
storage.cdrom.hddvd = false (bool)
storage.cdrom.hddvdr = false (bool)
storage.cdrom.hddvdrw = false (bool)
storage.cdrom.mo = false (bool)
storage.cdrom.mrw = true (bool)
storage.cdrom.mrw_w = true (bool)
storage.cdrom.read_speed = 4224 (0x1080) (int)
storage.cdrom.support_media_changed = true (bool)
storage.cdrom.support_multisession = true (bool)
storage.cdrom.write_speed = 0 (0x0) (int)
storage.cdrom.write_speeds = {} (string list)
storage.drive_type = 'cdrom' (string)
storage.firmware_version = 'PZ16' (string)
storage.hotpluggable = true (bool)
storage.lun = 0 (0x0) (int)
storage.media_check_enabled = true (bool)
storage.model = 'DVD-ROM SR-8178' (string)
storage.no_partitions_hint = true (bool)
storage.originating_device = '/org/freedesktop/Hal/devices/usb_device_5e3_701_0000000093_if0' (string)
storage.partitioning_scheme = '' (string)
storage.removable = true (bool)
storage.removable.media_available = false (bool)
storage.removable.support_async_notification = false (bool)
storage.requires_eject = true (bool)
storage.serial = 'MATSHITA_DVD-ROM_SR-8178_0000000093-0:0' (string)
storage.size = 0 (0x0) (uint64)
storage.vendor = 'MATSHITA' (string)
把以下文本输出3个独立的文件
“--”是分割符,2个“--”把文本分割成3个文件
shell实现
谢谢
scsi.type = 'cdrom' (string)
scsi.vendor = 'hp' (string)
udi = '/org/freedesktop/Hal/devices/storage_model_DVD_RAM_GH80N'
block.device = '/dev/sr0' (string)
block.is_volume = false (bool)
block.major = 11 (0xb) (int)
block.minor = 0 (0x0) (int)
block.storage_device = '/org/freedesktop/Hal/devices/storage_model_DVD_RAM_GH80N' (string)
info.addons = {'hald-addon-storage'} (string list)
info.capabilities = {'storage', 'block', 'storage.cdrom'} (string list)
info.category = 'storage' (string)
info.interfaces = {'org.freedesktop.Hal.Device.Storage', 'org.freedesktop.Hal.Device.Storage', 'org.freedesktop.Hal.Device.Storage.Removable'} (string list)
info.parent = '/org/freedesktop/Hal/devices/pci_8086_2822_scsi_host_0_scsi_device_lun0' (string)
info.product = 'DVD-RAM GH80N' (string)
info.udi = '/org/freedesktop/Hal/devices/storage_model_DVD_RAM_GH80N' (string)
info.vendor = 'hp' (string)
linux.hotplug_type = 3 (0x3) (int)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1f.2/host2/target2:0:0/2:0:0:0/block/sr0' (string)
org.freedesktop.Hal.Device.Storage.method_argnames = {'extra_options', 'extra_options'} (string list)
org.freedesktop.Hal.Device.Storage.method_execpaths = {'hal-storage-eject', 'hal-storage-closetray'} (string list)
org.freedesktop.Hal.Device.Storage.method_names = {'Eject', 'CloseTray'} (string list)
org.freedesktop.Hal.Device.Storage.method_signatures = {'as', 'as'} (string list)
storage.automount_enabled_hint = true (bool)
storage.bus = 'pci' (string)
storage.cdrom.bd = false (bool)
storage.cdrom.bdr = false (bool)
storage.cdrom.bdre = false (bool)
storage.cdrom.cdr = true (bool)
storage.cdrom.cdrw = true (bool)
storage.cdrom.dvd = true (bool)
storage.cdrom.dvdplusr = true (bool)
storage.cdrom.dvdplusrdl = true (bool)
storage.cdrom.dvdplusrw = true (bool)
storage.cdrom.dvdplusrwdl = false (bool)
storage.cdrom.dvdr = true (bool)
storage.cdrom.dvdram = true (bool)
storage.cdrom.dvdrdl = true (bool)
storage.cdrom.dvdrw = true (bool)
storage.cdrom.hddvd = false (bool)
storage.cdrom.hddvdr = false (bool)
storage.cdrom.hddvdrw = false (bool)
storage.cdrom.mo = false (bool)
storage.cdrom.mrw = true (bool)
storage.cdrom.mrw_w = true (bool)
storage.cdrom.read_speed = 7056 (0x1b90) (int)
storage.cdrom.support_media_changed = true (bool)
storage.cdrom.support_multisession = true (bool)
storage.cdrom.write_speed = 7057 (0x1b91) (int)
storage.cdrom.write_speeds = {'7057', '7056', '5646', '5645', '4235', '4234', '2822', '1411', '706'} (string list)
storage.drive_type = 'cdrom' (string)
storage.firmware_version = 'RF01' (string)
storage.hotpluggable = false (bool)
storage.lun = 0 (0x0) (int)
storage.media_check_enabled = true (bool)
storage.model = 'DVD-RAM GH80N' (string)
storage.no_partitions_hint = true (bool)
storage.originating_device = '/org/freedesktop/Hal/devices/computer' (string)
storage.partitioning_scheme = '' (string)
storage.removable = true (bool)
storage.removable.media_available = false (bool)
storage.removable.support_async_notification = false (bool)
storage.requires_eject = true (bool)
storage.size = 0 (0x0) (uint64)
storage.vendor = 'hp' (string)
--
scsi.type = 'cdrom' (string)
scsi.vendor = 'TSSTcorp' (string)
udi = '/org/freedesktop/Hal/devices/storage_serial_TSSTcorp_CDDVDW_SE_S084F_R86XB57_0_0'
block.device = '/dev/sr2' (string)
block.is_volume = false (bool)
block.major = 11 (0xb) (int)
block.minor = 2 (0x2) (int)
block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_TSSTcorp_CDDVDW_SE_S084F_R86XB57_0_0' (string)
info.addons = {'hald-addon-storage'} (string list)
info.capabilities = {'storage', 'block', 'storage.cdrom'} (string list)
info.category = 'storage' (string)
info.interfaces = {'org.freedesktop.Hal.Device.Storage', 'org.freedesktop.Hal.Device.Storage', 'org.freedesktop.Hal.Device.Storage.Removable'} (string list)
info.parent = '/org/freedesktop/Hal/devices/usb_device_e8d_1836_R86XB57_if0_scsi_host_0_scsi_device_lun0' (string)
info.product = 'CDDVDW SE-S084F' (string)
info.udi = '/org/freedesktop/Hal/devices/storage_serial_TSSTcorp_CDDVDW_SE_S084F_R86XB57_0_0' (string)
info.vendor = 'TSSTcorp' (string)
linux.hotplug_type = 3 (0x3) (int)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/host9/target9:0:0/9:0:0:0/block/sr2' (string)
org.freedesktop.Hal.Device.Storage.method_argnames = {'extra_options', 'extra_options'} (string list)
org.freedesktop.Hal.Device.Storage.method_execpaths = {'hal-storage-eject', 'hal-storage-closetray'} (string list)
org.freedesktop.Hal.Device.Storage.method_names = {'Eject', 'CloseTray'} (string list)
org.freedesktop.Hal.Device.Storage.method_signatures = {'as', 'as'} (string list)
storage.automount_enabled_hint = true (bool)
storage.bus = 'usb' (string)
storage.cdrom.bd = false (bool)
storage.cdrom.bdr = false (bool)
storage.cdrom.bdre = false (bool)
storage.cdrom.cdr = true (bool)
storage.cdrom.cdrw = true (bool)
storage.cdrom.dvd = true (bool)
storage.cdrom.dvdplusr = true (bool)
storage.cdrom.dvdplusrdl = true (bool)
storage.cdrom.dvdplusrw = true (bool)
storage.cdrom.dvdplusrwdl = false (bool)
storage.cdrom.dvdr = true (bool)
storage.cdrom.dvdram = true (bool)
storage.cdrom.dvdrdl = true (bool)
storage.cdrom.dvdrw = true (bool)
storage.cdrom.hddvd = false (bool)
storage.cdrom.hddvdr = false (bool)
storage.cdrom.hddvdrw = false (bool)
storage.cdrom.mo = false (bool)
storage.cdrom.mrw = true (bool)
storage.cdrom.mrw_w = true (bool)
storage.cdrom.read_speed = 4234 (0x108a) (int)
storage.cdrom.support_media_changed = true (bool)
storage.cdrom.support_multisession = true (bool)
storage.cdrom.write_speed = 0 (0x0) (int)
storage.cdrom.write_speeds = {} (string list)
storage.drive_type = 'cdrom' (string)
storage.firmware_version = 'TS00' (string)
storage.hotpluggable = true (bool)
storage.lun = 0 (0x0) (int)
storage.media_check_enabled = true (bool)
storage.model = 'CDDVDW SE-S084F' (string)
storage.no_partitions_hint = true (bool)
storage.originating_device = '/org/freedesktop/Hal/devices/usb_device_e8d_1836_R86XB57_if0' (string)
storage.partitioning_scheme = '' (string)
storage.removable = true (bool)
storage.removable.media_available = false (bool)
storage.removable.support_async_notification = false (bool)
storage.requires_eject = true (bool)
storage.serial = 'TSSTcorp_CDDVDW_SE-S084F_R86XB57-0:0' (string)
storage.size = 0 (0x0) (uint64)
storage.vendor = 'TSSTcorp' (string)
--
scsi.type = 'cdrom' (string)
scsi.vendor = 'MATSHITA' (string)
udi = '/org/freedesktop/Hal/devices/storage_serial_MATSHITA_DVD_ROM_SR_8178_0000000093_0_0'
block.device = '/dev/sr1' (string)
block.is_volume = false (bool)
block.major = 11 (0xb) (int)
block.minor = 1 (0x1) (int)
block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_MATSHITA_DVD_ROM_SR_8178_0000000093_0_0' (string)
info.addons = {'hald-addon-storage'} (string list)
info.capabilities = {'storage', 'block', 'storage.cdrom'} (string list)
info.category = 'storage' (string)
info.interfaces = {'org.freedesktop.Hal.Device.Storage', 'org.freedesktop.Hal.Device.Storage', 'org.freedesktop.Hal.Device.Storage.Removable'} (string list)
info.parent = '/org/freedesktop/Hal/devices/usb_device_5e3_701_0000000093_if0_scsi_host_0_scsi_device_lun0' (string)
info.product = 'DVD-ROM SR-8178' (string)
info.udi = '/org/freedesktop/Hal/devices/storage_serial_MATSHITA_DVD_ROM_SR_8178_0000000093_0_0' (string)
info.vendor = 'MATSHITA' (string)
linux.hotplug_type = 3 (0x3) (int)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.0/host8/target8:0:0/8:0:0:0/block/sr1' (string)
org.freedesktop.Hal.Device.Storage.method_argnames = {'extra_options', 'extra_options'} (string list)
org.freedesktop.Hal.Device.Storage.method_execpaths = {'hal-storage-eject', 'hal-storage-closetray'} (string list)
org.freedesktop.Hal.Device.Storage.method_names = {'Eject', 'CloseTray'} (string list)
org.freedesktop.Hal.Device.Storage.method_signatures = {'as', 'as'} (string list)
storage.automount_enabled_hint = true (bool)
storage.bus = 'usb' (string)
storage.cdrom.bd = false (bool)
storage.cdrom.bdr = false (bool)
storage.cdrom.bdre = false (bool)
storage.cdrom.cdr = false (bool)
storage.cdrom.cdrw = false (bool)
storage.cdrom.dvd = true (bool)
storage.cdrom.dvdplusr = false (bool)
storage.cdrom.dvdplusrdl = false (bool)
storage.cdrom.dvdplusrw = false (bool)
storage.cdrom.dvdplusrwdl = false (bool)
storage.cdrom.dvdr = false (bool)
storage.cdrom.dvdram = false (bool)
storage.cdrom.dvdrdl = false (bool)
storage.cdrom.dvdrw = false (bool)
storage.cdrom.hddvd = false (bool)
storage.cdrom.hddvdr = false (bool)
storage.cdrom.hddvdrw = false (bool)
storage.cdrom.mo = false (bool)
storage.cdrom.mrw = true (bool)
storage.cdrom.mrw_w = true (bool)
storage.cdrom.read_speed = 4224 (0x1080) (int)
storage.cdrom.support_media_changed = true (bool)
storage.cdrom.support_multisession = true (bool)
storage.cdrom.write_speed = 0 (0x0) (int)
storage.cdrom.write_speeds = {} (string list)
storage.drive_type = 'cdrom' (string)
storage.firmware_version = 'PZ16' (string)
storage.hotpluggable = true (bool)
storage.lun = 0 (0x0) (int)
storage.media_check_enabled = true (bool)
storage.model = 'DVD-ROM SR-8178' (string)
storage.no_partitions_hint = true (bool)
storage.originating_device = '/org/freedesktop/Hal/devices/usb_device_5e3_701_0000000093_if0' (string)
storage.partitioning_scheme = '' (string)
storage.removable = true (bool)
storage.removable.media_available = false (bool)
storage.removable.support_async_notification = false (bool)
storage.requires_eject = true (bool)
storage.serial = 'MATSHITA_DVD-ROM_SR-8178_0000000093-0:0' (string)
storage.size = 0 (0x0) (uint64)
storage.vendor = 'MATSHITA' (string)