java 每行末尾 追加,在每行中搜索字符串的第N个字段,然后将值附加到每行的末尾...

我正在创建一个shell脚本来分析输入文件并将结果发送到输出文件 . 以下是输入文件中的示例:

01,Rome,30,New York,70,

02,Los Angeles,5,New York,50,

03,New York,40,Tokyo,20,

04,Paris,5,New York,40,

05,New York,20,London,30,

06,Seattle,20,New York,40,

07,Chicago,10,New York,30,

08,New York,20,Miami,40,

这是我在输出文件中需要的结果:

01,Rome,30,New York,70,4th,40,

02,Los Angeles,5,New York,50,4th,45,

03,New York,40,Tokyo,20,2nd,20,

04,Paris,5,New York,40,4th,35,

05,New York,20,London,30,2nd,-10,

06,Seattle,20,New York,40,4th,20,

07,Chicago,10,New York,30,4th,20,

08,New York,20,Miami,40,2nd,-20,

字段以逗号分隔 .

我打算在每行的第二个字段中搜索字符串“New York”,如果为true,则添加带有“2nd”的第6个字段,如果不是true,则添加值为“4th”的第6个字段

然后我打算使用第3和第5个字段中的值进行减法 . 如果第6个字段中的字符串是“4th”,则从第5个字段中减去第3个字段 . 如果第6个字段中的字符串是“2nd”,则从第3个字段中减去第5个字段 . 计算结果需要是每行中的第7个字段 .

我已经尝试过awk,sed,grep,echo和bc的组合,但我觉得我是在过度思考 . 有什么建议?

编辑:到目前为止我的进展 - 我认为单独评估和追加每一行都是低效的 .

while read line; do

echo "$(cut -f2 -d ",")"

done < input.txt

打印每行的第二个字段,但我很难评估字符串并在循环中追加这些行 . 对于减法部分,我的计划是将回声和管道值用于bc,但我现在仍处于第一步 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值