我有Kafka主题列表,其中有分区编号(最后一位数字,分隔符-
)。有些主题的名称中有数字,如topic-with-num-in-name-1
。
cat /tmp/kafka.txt
topic-with-num-in-name-1-4
topic-without-num-in-name-3
问:我如何打印消息像
"主题:名称中有编号的主题-1"及其分区号:* * 4**"
或
"主题:名称中没有数字的主题"及其分区号:* * 3**"?
我是这样试的:
cat /tmp/kafka.txt | awk 'BEGIN{FS=OFS="-"}{NF--;}{print}'
但只能打印主题名称:
topic-with-num-in-name-1
topic-without-num-in-name
谢谢!
5条答案
按热度按时间blmhpbnm1#
一个简单的
sed
与贪婪正则表达式匹配:3yhwsihp2#
使用基于FS的提取:
y53ybaqx3#
使用以下
awk
命令:w1jd8yoj4#
zaq34kh65#
使用您展示的示例和尝试,请尝试以下GNU
awk
代码。