bash - 根据子字段值删除复合字段

标签 bash awk sed

我有一个文件包含“A*B”的复合字段,其中“A”和“B”是数值。我需要一个简单的解决方案(例如使用 awk 或 sed 的单行命令)来删除“B”高于特定值的字段。例如,在我的文件中

4*1 13*5 19*3 26*7 31*1 52*4 60*6 80*2

并且我想删除“B”等于或大于 5 的字段,以便输出为

4*1 19*3 31*1 52*4 80*2

最佳答案

怎么样:

awk -F'*' '$2<5' RS=' ' ORS=' ' file

关于bash - 根据子字段值删除复合字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34141700/

相关文章:

bash - 将文本中的字符串放入 bash 中的不同变量

bash 将 set -x 的输出存储到日志文件

python - 仅查找一个 csv 中存在的行,而不查找另一个 csv 中存在的行

awk - 如何提取两个单词之间的(第一次匹配)文本

perl - Sed错误 "sed: no input files"

linux - 使用 awk/sed/bash 检索所有必需字段后打印

perl - 我如何用 awk 或 perl(或 python,或...)编写这个 sed/bash 命令?

arrays - 在 bash 中对数组进行循环

linux - 基于另一个 file_2 从 file_1 获取行

c - 用 C 程序替换 pipe-shellscript