linux - 比较文本文件中存在的分数值并根据标准输出它

标签 linux bash shell unix

我有一个 temp.txt 文件,其内容在使用 cat temp.txt 时显示

0.3

1.3

5.3

7.3

它们显然是字符串格式,但我们需要使用算术运算符进行比较

是否可以读取 txt 文件中的每一行并将其与固定数字进行比较(比方说 5.7)。如果满足该条件,我需要将其回显到终端,说“这个数字大于阈值”,并将其输出到另一个 txt 文件。

编辑:希望这能澄清

最佳答案

awk '{ 
    if ($1 > 5.7)
        print "number " $1 " is larger than 5.7"
}' temp.txt | tee output_file.txt

如果您需要动态确定阈值,您可以将其作为参数传递给 awk(谷歌如何做到这一点)。

编辑:op指定的新格式

sed 's/.*>\(.*\)<.*/\1/' temp.txt | sed '/^<[^>]*>/d' $awk '{ 
    if ($1 > 5.7)
        print "number " $1 " is larger than 5.7"
}' | tee output_file.txt

关于linux - 比较文本文件中存在的分数值并根据标准输出它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27018226/

相关文章:

macos - 如何在给定目录中找到一段时间后创建的所有文件?

linux - linux 可执行文件中的空格字符被忽略

linux - 查看带有正确时间戳的旧 ssh session 的命令历史记录

linux - 如何构建体积更小的 glibc?

php - Apache 无法在网络共享中修改/创建文件

linux - 执行 "cat/dev/null > logfile.log"后的虚拟文件大小

linux - shell 脚本 : appending directory path and filename

javascript - 如何在 Ubuntu 上安装 JSLint?

linux - 如何使用 bash 移动到其他目录?

bash - 在 Bash 中合并具有相同字符串的行