fork download
  1. while read -r a b c d; do
  2. if [[ $b = *';'* ]]; then
  3. IFS=';' read -r -a ba <<<"$b"
  4. IFS=';' read -r -a ca <<<"$c"
  5. for idx in "${!ba[@]}"; do
  6. printf '%s\t%s\t%s\t%s\n' "$a" "${ba[idx]}" "${ca[idx]}" "$d"
  7. done
  8. else
  9. printf '%s\t%s\t%s\t%s\n' "$a" "$b" "$c" "$d"
  10. fi
  11. done
Success #stdin #stdout 0s 19648KB
stdin
1   12349   12398   +
1   23523   23578   -
1   23550;23570;23590   23640;23689;23652   +
1   43533   43569   +
1   56021;56078   56099;56155   +
stdout
1	12349	12398	+
1	23523	23578	-
1	23550	23640	+
1	23570	23689	+
1	23590	23652	+
1	43533	43569	+
1	56021	56099	+
1	56078	56155	+