巴什如何复制从CSV的下一个值

时间:2019-01-31 15:40:16

标签: bash

我有这个CSV文件。我如何复制第一行和接下来的2个值。的 server.2 = cl1z2 server.3 = cl1z3 即可。我想重复这个任务与其他值。 (例如第三行和server.2 = cl2z2 server.3 = cl2z3)

    z_name;z_hosts;z_clientPort;z_leaderPort;z_electionport;tickTime;initLimit;syncLimit;snapRetainCount;purgeInterval
cl1z1;server.1=cl1z1;2180;2890;3890;200;5;2;3;24
cl1z2;server.2=cl1z2;2181;2891;3891;200;5;2;3;24
cl1z3;server.3=cl1z3;2182;2892;3892;200;5;2;3;24
cl2z1;server.1=cl2z1;2183;2893;3893;200;5;2;3;24
cl2z2;server.2=cl2z2;2184;2894;3894;200;5;2;3;24
cl2z3;server.3=cl2z3;2185;2895;3895;200;5;2;3;24

感谢帮助。

1 个答案:

答案 0 :(得分:0)

您可以尝试

result=""
while read line ; do 
  if echo "$line" | grep -q 'z_name'; then 
    result+="$line\n" 
  else 
    result+=$(echo "$line" | cut -d';' -f2 | cut -d';' -f1)"\n" 
  fi  
done < your_csv_file
echo -e "$result"