You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

技术求助:如何使用awk删除以‘/’结尾的行?

AWK删除以‘/’结尾行的正确方法

原始数据

COL1    COL2
PRE     test1/
PRE     test1/
PRE     test1/
2023-01-27  12:37:16
2023-01-27  12:37:16
2023-01-27  12:37:16
2023-01-27  12:37:16
2023-01-27  12:37:16

需求与问题

需要删除所有以/结尾的行,尝试了命令awk '{gsub("*/","",$0); print $1 $2}'但没有效果。

正确实现方法

方法1:判断最后一个字段是否以/结尾

如果目标行是靠最后一个字段结尾带/,这个命令最准确:

awk '$NF !~ /\/$/' your_file.txt
  • 逻辑:$NF代表当前行的最后一个字段,!~表示不匹配指定正则,\/$是正则表达式,匹配以/结尾的内容。只有不满足这个条件的行才会被打印,自动过滤掉目标行。

方法2:判断整行是否以/结尾

如果行结尾直接是/、无后续空格,可用更简洁的命令:

awk '!/\/$/' your_file.txt
  • 逻辑:!/\/$/表示整行内容不匹配“以/结尾”的正则,符合条件的行直接输出。

原命令无效原因

你之前用的gsub("*/","",$0)是尝试替换行内的*/为空,但目标行里是test1/,根本没有*/这个组合;而且该操作仅修改内容、不会删除行,所以即使替换成功也会输出处理后的行,完全达不到删除目标行的效果。

内容的提问来源于stack exchange,提问作者Orion

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 07:45:29