如何使用sed删除文件中的特定文本模式?

如何使用sed删除文件中的特定文本模式?,sed,Sed,我一直在寻找从文本文件中删除文本模式的方法。 我发现了sed,但我缺乏正确使用它的经验 我在一个名为psutildat.txt的文件中有大约20到30行类似的文本 0.084849510927221, 'name': 'systemd'} 0.0, 'name': 'kthreadd'} 0.0, 'name': 'rcu_gp'} 0.0, 'name': 'rcu_par_gp'} 0.0, 'name': 'kworker/0:0H-kblockd'} 0.0, 'name': 'mm_p

我一直在寻找从文本文件中删除文本模式的方法。 我发现了sed,但我缺乏正确使用它的经验

我在一个名为psutildat.txt的文件中有大约20到30行类似的文本

0.084849510927221, 'name': 'systemd'}
0.0, 'name': 'kthreadd'}
0.0, 'name': 'rcu_gp'}
0.0, 'name': 'rcu_par_gp'}
0.0, 'name': 'kworker/0:0H-kblockd'}
0.0, 'name': 'mm_percpu_wq'}
0.0, 'name': 'ksoftirqd/0'}
0.0, 'name': 'rcu_preempt'}
0.0, 'name': 'rcu_sched'}
0.0, 'name': 'rcu_bh'}
0.0, 'name': 'rcuc/0'}
0.0, 'name': 'rcub/0'}
0.0, 'name': 'migration/0'}
0.0, 'name': 'idle_inject/0'}
0.0, 'name': 'cpuhp/0'}
0.0, 'name': 'cpuhp/1'}
0.0, 'name': 'idle_inject/1'}
0.0, 'name': 'migration/1'}
0.0, 'name': 'rcuc/1'}
0.0, 'name': 'ksoftirqd/1'}
0.0, 'name': 'kworker/1:0H-kblockd'}
0.0, 'name': 'cpuhp/2'}
0.0, 'name': 'idle_inject/2'}
0.0, 'name': 'migration/2'}
0.0, 'name': 'rcuc/2'}
0.0, 'name': 'ksoftirqd/2'}
0.0, 'name': 'kworker/2:0H-kblockd'}
0.0, 'name': 'cpuhp/3'}
0.0, 'name': 'idle_inject/3'}
0.0, 'name': 'migration/3'}
0.0, 'name': 'rcuc/3'}
0.0, 'name': 'ksoftirqd/3'}
0.0, 'name': 'kworker/3:0H-kblockd'}
0.0, 'name': 'kdevtmpfs'}
0.0, 'name': 'netns'}
0.0, 'name': 'rcu_tasks_kthre'}
0.0, 'name': 'kauditd'}
0.0, 'name': 'khungtaskd'}
0.0, 'name': 'oom_reaper'}
0.0, 'name': 'writeback'}
0.0, 'name': 'kcompactd0'}
0.0, 'name': 'ksmd'}
0.0, 'name': 'khugepaged'}
0.0, 'name': 'crypto'}
0.0, 'name': 'kintegrityd'}
0.0, 'name': 'kblockd'}
0.0, 'name': 'edac-poller'}
0.0, 'name': 'devfreq_wq'}
0.0, 'name': 'watchdogd'}
0.0, 'name': 'kswapd0'}
0.0, 'name': 'kthrotld'}
0.0, 'name': 'irq/42-pciehp'}
0.0, 'name': 'acpi_thermal_pm'}
0.0, 'name': 'nvme-wq'}
0.0, 'name': 'nvme-reset-wq'}
0.0, 'name': 'nvme-delete-wq'}
0.0, 'name': 'ipv6_addrconf'}
0.0, 'name': 'kstrp'}
0.0, 'name': 'charger_manager'}
0.0, 'name': 'ata_sff'}
0.0, 'name': 'scsi_eh_0'}
0.0, 'name': 'scsi_tmf_0'}
0.0, 'name': 'scsi_eh_1'}
0.0, 'name': 'scsi_tmf_1'}
0.0, 'name': 'kworker/1:1H-kblockd'}
0.0, 'name': 'kworker/0:1H-kblockd'}
0.0, 'name': 'kworker/2:1H-kblockd'}
0.0, 'name': 'kworker/u9:0-hci0'}
0.0, 'name': 'jbd2/sda6-8'}
0.0, 'name': 'ext4-rsv-conver'}
0.0, 'name': 'kworker/3:1H-kblockd'}
0.31157690885410094, 'name': 'systemd-journald'}
0.008069119183860574, 'name': 'lvmetad'}
0.0, 'name': 'iprt-VBoxWQueue'}
0.0, 'name': 'iprt-VBoxTscThr'}
0.06064215337563928, 'name': 'systemd-udevd'}
0.0, 'name': 'irq/49-mei_me'}
0.0, 'name': 'cfg80211'}
0.0, 'name': 'kmemstick'}
0.0, 'name': 'rtsx_usb_ms_1'}
0.0, 'name': 'i915/signal:0'}
0.0, 'name': 'i915/signal:1'}
0.0, 'name': 'i915/signal:2'}
0.0, 'name': 'i915/signal:6'}
0.0, 'name': 'kworker/u9:1-hci0'}
0.0, 'name': 'nv_queue'}
0.0, 'name': 'nv_queue'}
0.0, 'name': 'nvidia-modeset/'}
0.0, 'name': 'nvidia-modeset/'}
0.0, 'name': 'irq/53-nvidia'}
0.0, 'name': 'nvidia'}
0.0, 'name': 'nv_queue'}
0.03920700854980107, 'name': 'systemd-timesyncd'}
0.04192971747687058, 'name': 'bluetoothd'}
0.049206775881947294, 'name': 'dbus-daemon'}
0.043513839034438305, 'name': 'systemd-logind'}
0.031979453943398344, 'name': 'avahi-daemon'}
0.025494456317105493, 'name': 'crond'}
0.054454178541390376, 'name': 'ModemManager'}
0.10326492403394574, 'name': 'NetworkManager'}
0.0031682431151354397, 'name': 'avahi-daemon'}
0.04772166192172756, 'name': 'sddm'}
0.17687707266217073, 'name': 'polkitd'}
0.9116619563802228, 'name': 'Xorg'}
0.0480681885124455, 'name': 'wpa_supplicant'}
0.08059218424125776, 'name': 'udisksd'}
0.06257280152392494, 'name': 'upowerd'}
0.04801868471377151, 'name': 'sddm-helper'}
0.05544425451487019, 'name': 'systemd'}
0.0024751899336995626, 'name': '(sd-pam)'}
0.027623119660087115, 'name': 'appimagelauncherfs'}
0.058860016623375595, 'name': 'appimagelauncherd'}
0.10564110637029732, 'name': 'kwalletd5'}
0.03707834520681945, 'name': 'startkde'}
0.04376135802780826, 'name': 'dbus-daemon'}
0.0010395797721538163, 'name': 'start_kdeinit'}
0.08376042735639319, 'name': 'kdeinit5'}
0.16430310779897694, 'name': 'klauncher'}
0.4153863746734605, 'name': 'kded5'}
0.11158156221117628, 'name': 'kaccess'}
0.024009342356885757, 'name': 'kwrapper5'}
0.13712552232695577, 'name': 'ksmserver'}
0.10395797721538162, 'name': 'kglobalaccel5'}
0.04004857312725892, 'name': 'dconf-service'}
1.9530733690849769, 'name': 'kwin_x11'}
0.12999697531790103, 'name': 'baloo_file'}
0.7622099881834433, 'name': 'krunner'}
2.7182040813901853, 'name': 'plasmashell'}
0.12420503087304405, 'name': 'polkit-kde-authentication-agent-1'}
0.08856229582777035, 'name': 'xembedsniproxy'}
0.08915634141185824, 'name': 'kactivitymanagerd'}
0.07291909544678911, 'name': 'gmenudbusmenuproxy'}
0.13168010447281672, 'name': 'kdeconnectd'}
0.1363334615481719, 'name': 'msm_kde_notifier'}
0.20722290124932738, 'name': 'octopi-notifier'}
0.1069777089344951, 'name': 'pulseaudio'}
0.024603387940973647, 'name': 'rtkit-daemon'}
0.04549399098139796, 'name': 'AppRun'}
0.2511822744718316, 'name': 'yakuake'}
0.02767262345876111, 'name': 'appimaged'}
0.6431533523724944, 'name': 'plank'}
0.029108233620306855, 'name': 'agent'}
0.17440188272847115, 'name': 'org_kde_powerdevil'}
0.0514839506209509, 'name': 'gvfsd'}
0.07217653846667924, 'name': 'kscreen_backend_launcher'}
0.043266320041068354, 'name': 'gvfsd-fuse'}
0.04237525166493651, 'name': 'bash'}
0.03376159069566203, 'name': 'gsettings-helper'}
0.021187625832468256, 'name': 'obexd'}
0.03920700854980107, 'name': 'at-spi-bus-launcher'}
0.029652775405720755, 'name': 'dbus-daemon'}
0.0, 'name': 'krfcommd'}
0.04366235043046028, 'name': 'at-spi2-registryd'}
0.07653287274999047, 'name': 'xdg-desktop-portal'}
0.044206892215874184, 'name': 'xdg-document-portal'}
0.030593347580526595, 'name': 'xdg-permission-store'}
0.10722522792786504, 'name': 'xdg-desktop-portal-gtk'}
0.03009830959378668, 'name': 'pipewire'}
0.559788955405493, 'name': 'bamfdaemon'}
0.04762265432437958, 'name': 'cupsd'}
0.5815211230233752, 'name': 'tilix'}
0.05093940883553699, 'name': 'bash'}
0.07816649810623218, 'name': 'file.so'}
0.04509796059200603, 'name': 'gvfsd-metadata'}
0.10123526828831211, 'name': 'baloorunner'}
4.453361728712252, 'name': 'firefox'}
2.0012405651947702, 'name': 'WebExtensions'}
2.1960875167756, 'name': 'Web Content'}
2.1629694754627, 'name': 'Web Content'}
0.02579147910914944, 'name': 'mount.ntfs'}
0.0, 'name': 'kworker/0:2-events'}
6.8419695185310045, 'name': 'Web Content'}
1.6792183548204571, 'name': 'Discord'}
0.47716711541860163, 'name': 'Discord'}
1.443184242742867, 'name': 'Discord'}
3.410663217241975, 'name': 'Discord'}
2.369845850121309, 'name': 'Web Content'}
2.7086993520447793, 'name': 'Web Content'}
0.13663048434021585, 'name': 'gvfs-udisks2-volume-monitor'}
0.08786924264633447, 'name': 'gvfs-gphoto2-volume-monitor'}
0.09247309592301564, 'name': 'gvfs-afc-volume-monitor'}
0.0691073029488918, 'name': 'gvfs-mtp-volume-monitor'}
0.09583935423284705, 'name': 'gvfsd-trash'}
0.096136377024891, 'name': 'gvfsd-network'}
0.096136377024891, 'name': 'gvfsd-dnssd'}
1.8358978776236397, 'name': 'code-oss'}
0.6873602445883684, 'name': 'electron'}
1.4864505627839353, 'name': 'electron'}
2.6789970728403842, 'name': 'electron'}
1.2712080461494213, 'name': 'electron'}
2.4350918567736293, 'name': 'electron'}
0.5952336752560708, 'name': 'python'}
0.3155372127480202, 'name': 'python'}
0.30712156697344173, 'name': 'python'}
0.2936565337341161, 'name': 'python'}
0.23677666905770012, 'name': 'python'}
0.0, 'name': 'kworker/2:1-events'}
0.0, 'name': 'kworker/3:2-events'}
0.0, 'name': 'kworker/u8:0+events_unbound'}
0.0, 'name': 'kworker/0:0-pm'}
0.0, 'name': 'kworker/1:2-events'}
2.167028786953967, 'name': 'Web Content'}
0.8931475356761501, 'name': 'Web Content'}
0.0, 'name': 'kworker/u8:2-events_power_efficient'}
0.0, 'name': 'kworker/1:0-events'}
0.0, 'name': 'kworker/3:1-pm'}
0.0, 'name': 'kworker/u8:4-phy0'}
0.0, 'name': 'kworker/3:0-events'}
0.0, 'name': 'kworker/2:0-mm_percpu_wq'}
0.0, 'name': 'kworker/1:1-events'}
0.0, 'name': 'kworker/u8:1-events_power_efficient'}
0.004356334283311229, 'name': 'xclip'}
0.0, 'name': 'kworker/1:3-events'}
0.2534099454121612, 'name': 'tags.so'}
0.2534099454121612, 'name': 'tags.so'}
0.046038532766811864, 'name': 'ilumi.sh'}
0.14875891501534372, 'name': 'python3'}

我特别想删除**,'名称':**部分。命令的数量无关紧要。我还想删除花括号 在每行的末尾

有办法吗?无论如何,所有这些都将放在bash脚本中

编辑: 添加了文件的全部内容。自从上次运行脚本以来,它发生了一些变化,因为内存使用情况确实发生了变化

编辑2: 很奇怪。有时它是有效的,有时它只是像这样乱七八糟

 'memory_percent': 0.084849510927221}
, 'memory_percent': 0.0}
'memory_percent': 0.0}
p', 'memory_percent': 0.0}
:0H-kblockd', 'memory_percent': 0.0}
_wq', 'memory_percent': 0.0}
/0', 'memory_percent': 0.0}
pt', 'memory_percent': 0.0}
', 'memory_percent': 0.0}
'memory_percent': 0.0}
'memory_percent': 0.0}
'memory_percent': 0.0}
/0', 'memory_percent': 0.0}
ct/0', 'memory_percent': 0.0}
 'memory_percent': 0.0}
 'memory_percent': 0.0}
ct/1', 'memory_percent': 0.0}
/1', 'memory_percent': 0.0}
'memory_percent': 0.0}
/1', 'memory_percent': 0.0}
:0H-kblockd', 'memory_percent': 0.0}
 'memory_percent': 0.0}
ct/2', 'memory_percent': 0.0}
/2', 'memory_percent': 0.0}
'memory_percent': 0.0}
/2', 'memory_percent': 0.0}
:0H-kblockd', 'memory_percent': 0.0}
 'memory_percent': 0.0}
ct/3', 'memory_percent': 0.0}
/3', 'memory_percent': 0.0}
'memory_percent': 0.0}
/3', 'memory_percent': 0.0}
:0H-kblockd', 'memory_percent': 0.0}
', 'memory_percent': 0.0}
memory_percent': 0.0}
_kthre', 'memory_percent': 0.0}
 'memory_percent': 0.0}
d', 'memory_percent': 0.0}
r', 'memory_percent': 0.0}
', 'memory_percent': 0.0}
0', 'memory_percent': 0.0}
emory_percent': 0.0}
d', 'memory_percent': 0.0}
'memory_percent': 0.0}
yd', 'memory_percent': 0.0}
 'memory_percent': 0.0}
er', 'memory_percent': 0.0}
q', 'memory_percent': 0.0}
', 'memory_percent': 0.0}
 'memory_percent': 0.0}
, 'memory_percent': 0.0}
iehp', 'memory_percent': 0.0}
mal_pm', 'memory_percent': 0.0}
 'memory_percent': 0.0}
t-wq', 'memory_percent': 0.0}
te-wq', 'memory_percent': 0.0}
conf', 'memory_percent': 0.0}
memory_percent': 0.0}
anager', 'memory_percent': 0.0}
 'memory_percent': 0.0}
', 'memory_percent': 0.0}
0', 'memory_percent': 0.0}
', 'memory_percent': 0.0}
1', 'memory_percent': 0.0}
:1H-kblockd', 'memory_percent': 0.0}
:1H-kblockd', 'memory_percent': 0.0}
:1H-kblockd', 'memory_percent': 0.0}
9:0-hci0', 'memory_percent': 0.0}
-8', 'memory_percent': 0.0}
conver', 'memory_percent': 0.0}
:1H-kblockd', 'memory_percent': 0.0}
ournald', 'memory_percent': 0.3137550759957565}
 'memory_percent': 0.008069119183860574}
WQueue', 'memory_percent': 0.0}
TscThr', 'memory_percent': 0.0}
devd', 'memory_percent': 0.06064215337563928}
i_me', 'memory_percent': 0.0}
, 'memory_percent': 0.0}
', 'memory_percent': 0.0}
ms_1', 'memory_percent': 0.0}
al:0', 'memory_percent': 0.0}
al:1', 'memory_percent': 0.0}
al:2', 'memory_percent': 0.0}
al:6', 'memory_percent': 0.0}
9:1-hci0', 'memory_percent': 0.0}
, 'memory_percent': 0.0}
, 'memory_percent': 0.0}
deset/', 'memory_percent': 0.0}
deset/', 'memory_percent': 0.0}
idia', 'memory_percent': 0.0}
'memory_percent': 0.0}
, 'memory_percent': 0.0}
imesyncd', 'memory_percent': 0.03920700854980107}
d', 'memory_percent': 0.04192971747687058}
on', 'memory_percent': 0.049206775881947294}
ogind', 'memory_percent': 0.043513839034438305}
mon', 'memory_percent': 0.031979453943398344}
memory_percent': 0.025494456317105493}
ger', 'memory_percent': 0.054454178541390376}
nager', 'memory_percent': 0.10326492403394574}
mon', 'memory_percent': 0.0031682431151354397}
emory_percent': 0.04772166192172756}
 'memory_percent': 0.17687707266217073}
emory_percent': 0.9116619563802228}
icant', 'memory_percent': 0.0480681885124455}
 'memory_percent': 0.08059218424125776}
 'memory_percent': 0.06257280152392494}
er', 'memory_percent': 0.04801868471377151}
 'memory_percent': 0.05544425451487019}
, 'memory_percent': 0.0024751899336995626}
auncherfs', 'memory_percent': 0.027623119660087115}
auncherd', 'memory_percent': 0.058860016623375595}
', 'memory_percent': 0.10564110637029732}
, 'memory_percent': 0.03707834520681945}
on', 'memory_percent': 0.04376135802780826}
init', 'memory_percent': 0.0010395797721538163}
, 'memory_percent': 0.08376042735639319}
', 'memory_percent': 0.16430310779897694}
memory_percent': 0.4153863746734605}
 'memory_percent': 0.11158156221117628}
', 'memory_percent': 0.024009342356885757}
', 'memory_percent': 0.13712552232695577}
cel5', 'memory_percent': 0.10395797721538162}
vice', 'memory_percent': 0.04004857312725892}
, 'memory_percent': 1.9548555058372403}
e', 'memory_percent': 0.13039300570729295}
 'memory_percent': 0.7622099881834433}
ll', 'memory_percent': 2.7184516003835557}
e-authentication-agent-1', 'memory_percent': 0.12420503087304405}
proxy', 'memory_percent': 0.08856229582777035}
managerd', 'memory_percent': 0.08915634141185824}
menuproxy', 'memory_percent': 0.07291909544678911}
td', 'memory_percent': 0.13168010447281672}
otifier', 'memory_percent': 0.1363334615481719}
tifier', 'memory_percent': 0.20722290124932738}
o', 'memory_percent': 0.1069777089344951}
mon', 'memory_percent': 0.024603387940973647}
'memory_percent': 0.04549399098139796}
 'memory_percent': 0.2511822744718316}
', 'memory_percent': 0.02767262345876111}
memory_percent': 0.6431533523724944}
memory_percent': 0.029108233620306855}
owerdevil', 'memory_percent': 0.17440188272847115}
memory_percent': 0.0514839506209509}
ackend_launcher', 'memory_percent': 0.07217653846667924}
e', 'memory_percent': 0.043266320041068354}
emory_percent': 0.04237525166493651}
-helper', 'memory_percent': 0.03376159069566203}
memory_percent': 0.021187625832468256}
s-launcher', 'memory_percent': 0.03920700854980107}
on', 'memory_percent': 0.029652775405720755}
, 'memory_percent': 0.0}
egistryd', 'memory_percent': 0.04366235043046028}
op-portal', 'memory_percent': 0.07653287274999047}
ent-portal', 'memory_percent': 0.044206892215874184}
ssion-store', 'memory_percent': 0.030593347580526595}
op-portal-gtk', 'memory_percent': 0.10722522792786504}
, 'memory_percent': 0.03009830959378668}
n', 'memory_percent': 0.559788955405493}
memory_percent': 0.04762265432437958}
memory_percent': 0.5815211230233752}
emory_percent': 0.05093940883553699}
 'memory_percent': 0.07816649810623218}
adata', 'memory_percent': 0.04509796059200603}
er', 'memory_percent': 0.10123526828831211}
 'memory_percent': 5.3409153351382415}
ions', 'memory_percent': 2.290936795034967}
nt', 'memory_percent': 2.1626229488719817}
nt', 'memory_percent': 2.1638110400401573}
s', 'memory_percent': 0.02579147910914944}
:2-events', 'memory_percent': 0.0}
nt', 'memory_percent': 6.782812479115585}
 'memory_percent': 1.6736244255702963}
 'memory_percent': 0.47716711541860163}
 'memory_percent': 1.4448178680991086}
 'memory_percent': 3.3573971298687604}
nt', 'memory_percent': 2.3614302043467306}
nt', 'memory_percent': 2.557415743297062}
ks2-volume-monitor', 'memory_percent': 0.13663048434021585}
to2-volume-monitor', 'memory_percent': 0.08786924264633447}
volume-monitor', 'memory_percent': 0.09247309592301564}
volume-monitor', 'memory_percent': 0.0691073029488918}
sh', 'memory_percent': 0.09583935423284705}
work', 'memory_percent': 0.096136377024891}
sd', 'memory_percent': 0.096136377024891}
, 'memory_percent': 1.8372839839865114}
, 'memory_percent': 0.6873602445883684}
, 'memory_percent': 1.487836669146807}
, 'memory_percent': 2.7911726806356487}
, 'memory_percent': 1.2875442997118383}
, 'memory_percent': 2.437468039109981}
'memory_percent': 0.5952336752560708}
'memory_percent': 0.3155372127480202}
'memory_percent': 0.30712156697344173}
'memory_percent': 0.2936565337341161}
'memory_percent': 0.23677666905770012}
:1-events', 'memory_percent': 0.0}
:2-events', 'memory_percent': 0.0}
:0-pm', 'memory_percent': 0.0}
:2-events', 'memory_percent': 0.0}
nt', 'memory_percent': 2.1673753135446847}
nt', 'memory_percent': 0.8931475356761501}
8:4-events_power_efficient', 'memory_percent': 0.0}
:1-rtl8723be_pci', 'memory_percent': 0.0}
8:1-events_unbound', 'memory_percent': 0.0}
 'memory_percent': 0.2534099454121612}
 'memory_percent': 0.2534099454121612}
8:2-events_unbound', 'memory_percent': 0.0}
:2-mm_percpu_wq', 'memory_percent': 0.0}
:0-mm_percpu_wq', 'memory_percent': 0.0}
:1-events', 'memory_percent': 0.0}
:3-events', 'memory_percent': 0.0}
:0-events', 'memory_percent': 0.0}
8:0-events_unbound', 'memory_percent': 0.0}
:0-events', 'memory_percent': 0.0}
, 'memory_percent': 0.04678108974692173}
 'memory_percent': 0.14910544160606165}
编辑3: 弄明白了为什么会乱码。显然,我的
psutil
输出的顺序有点随机。内存使用部分和进程名部分切换的位置差不多,这就是它看起来乱七八糟的原因。。。我为此道歉。也非常感谢你的帮助

sed "s/, 'name'://g" psutildat.txt

将用空字符串替换所有出现的“,”name:”,有效地将其删除。

您要查找的命令是替换:

sed's/pattern1/pattern2/g'

这将用Pattern 2替换Pattern 1的所有眼影。 如果您确定此模式每行只显示一次,则可以省略命令中的最后一个“g”

因此,在你的情况下:

sed's/,'\''name'\'':'/'g'文件名

将输出所需的文件,并进行更改

由于单引号是模式的一部分,请记住通过使用
'\''
来正确转义它

要删除大括号,也可以使用正则表达式(美元符号)设置行尾,执行相同操作:


sed's/}$//g'filename

我用括号表示节的开始和结束位置。我现在将对其进行编辑,使其更加具体。
g
@Cyrus不是
g
之类的,为每行执行吗?@Iverol:No,
sed
中的
g
是一个每行指令,用于
global
(针对与模式匹配的每行)。在这种情况下,无需多次执行替换。如果你养成习惯,总是用拖尾的
g
进行全局搜索,总有一天你会击中自己的脚;-),所以不要那样做!祝大家好运。这有点奏效,但出了点问题。可以这么说,“内存百分比”:0.084849510927221,“内存百分比”:0.0“内存百分比”:0.0p”,“内存百分比”:0.0:0H kblockd”,“内存百分比”:0.0“它在我的终端上运行,有你的例子。也许你的文件包含其他特殊字符?我会用整个文件和完整的结果来编辑它,这很奇怪。所以我再次运行它,它以正确的方式工作。天哪