【问题标题】:Merge strings in outfile合并输出文件中的字符串
【发布时间】:2018-12-29 05:16:51
【问题描述】:

我坚持在 1 个文件输出中合并两个变量 这是我的文件的示例:

   cat  $ line 
    "Product ID";"Product Name";"Price";"Description"
    "310";"Ball;"30";"Some"

我的代码

while read line IFS=';' read pid pname price desc <<< $line
numn=0
If [ condition ]
((num++)
 output_filename=comb/"$(echo $pid| tr -d '"').json3"
else
fi 

这个文件的结果是“310.json3”
我需要什么?

output_filename=comb/"$(echo $pid + ($num) | tr -d '"').json3"

Output= 310(1).json3

【问题讨论】:

  • line 2 行的文件,其中第一行是描述?考虑到两行输入,输出文件必须看起来像什么?我发现任务不清楚,bash 语法(例如if)也是错误的。对我来说,这似乎是 awk 的工作。
  • 这是一个包含 500 个产品 ID 的文件的示例。我需要合并名称为 $ pid & $num 的输出文件。 bash 脚本运行良好。我可以用 $pid 保存文件,但我不能用 $pid(num) Thx
  • num 来自哪里?有一个numn 每行都重置为0?你发布的脚本对我来说毫无意义。

标签: arrays bash shell unix


【解决方案1】:

制作你可以做的文件名

output_filename=$(printf "comb/%u(%u).json3" $pid $num)

如果这是你的主要问题..

【讨论】:

  • Henno 你的解决方案不好用,因为我有这个| tr -d '"' 来删除“”。把这个命令放在你的哪里?谢谢
  • 我解决了这个问题 使用这个解决方案 pid=$(echo $pid | tr -d '"')
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-03
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
  • 2018-03-26
相关资源
最近更新 更多