Bash 如何在给定模式后剪切文件中的字符串?
我得到了大约7000行不同的文字,它们都是以一个经常相似的表达开始的。我需要在X之后把所有的东西都剪掉 我有以下几行:Bash 如何在给定模式后剪切文件中的字符串?,bash,Bash,我得到了大约7000行不同的文字,它们都是以一个经常相似的表达开始的。我需要在X之后把所有的东西都剪掉 我有以下几行: service_description PING service_description NSClient++ Version service_description Uptime service_description CPU Load service_descri
service_description PING
service_description NSClient++ Version
service_description Uptime
service_description CPU Load
service_description Memory Usage physical
service_description Druckerserver-Sicherung
service_description Hyper-V Host Cluster
在前5行中,有一个制表符,最后2行只有一个空格。
在这两列之间有一个选项卡,最后两列只有多个空格
如果它们都是相似的,我就可以在一定数量的数字后剪切,因为标签/空格不同
这就是我得到的:
service_description PING
service_description NSClient++ Version
service_description Uptime
service_description CPU Load
service_description Memory Usage physical
service_description Druckerserver-Sicherung
service_description Hyper-V Host Cluster
这就是我需要的:
PING
NSClient++ Version
Uptime
CPU Load
Memory Usage physical
Druckerserver-Sicherung
Hyper-V Host Cluster
PING
NSClient++ Version
Uptime
CPU Load
Memory Usage physical
Druckerserver-Sicherung
Hyper-V Host Cluster
尝试以下操作(我将分隔符设置为tab或多个空格(至少2个):
输出:
PING
NSClient++ Version
Uptime
CPU Load
Memory Usage physical
Druckerserver-Sicherung
Hyper-V Host Cluster
awk '{$1=""}1' file
PING
NSClient++ Version
Uptime
CPU Load
Memory Usage physical
Druckerserver-Sicherung
Hyper-V Host Cluster