【问题标题】:Extracting information from console only if there is change in output仅当输出发生变化时才从控制台提取信息
【发布时间】:2014-10-24 15:46:59
【问题描述】:

这是我想要完成的:

应用程序在 cron 中运行并检查可用价格,

./checkprice | grep price

然后返回:

run at October 15
price item1 19.99
price item2 2.99
price item3 3.99

run at October 16
price item1 19.49
price item2 2.99
price item3 3.99

您看到第 2 项的两个条目的原因是因为价格变化

如何将新价格输入到具有以下格式的文件中:

item1
19.99

item2
2.99

item3
3.99

【问题讨论】:

  • 我不知道./checkprice | grep price如何打印上述结果..
  • "我如何输入...?"带编辑?不太清楚你在问什么......大胆猜测,也许你想要像./checkprice | awk '$1 == "price" { printf "%s\n%s\n\n",$2,$3 }' >> my_price_file.txt这样的东西......

标签: linux bash awk sed


【解决方案1】:

sed 是单行编辑器,因此您必须使用 awk 或更改文件格式。我会亲自更改文件格式并做类似的事情。

item1 19.99
item2 4.99

那么当你获得新价格时,你可以这样做。

cmd="sed -i 's/$item.*/$item $price/' file"
eval $cmd

【讨论】:

    猜你喜欢
    • 2022-01-28
    • 1970-01-01
    • 1970-01-01
    • 2021-01-16
    • 2019-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多