Using Raku (formerly known as Perl_6)
~$ raku -MText::CSV -e 'csv(in => csv(in => $*IN), out => $*OUT, sep => "~");' < Adhya.csv Sample Input:
123,"ABC, DEV 23",345,534.202,NAME Sample Output:
123~"ABC, DEV 23"~345~534.202~NAME This answer uses the Raku Programming Language. The Perl(5) module Text::CSVCSV_XS is well-regarded, and a longtime author/maintainer of that module has gone on to develop Raku's Text::CSV module (H. Merijn Brand, personal communication).
Briefly, the high-level csv(...) command is used to take csv input via $*IN (stdin). Alternative separators can be specified here with sep => "\t" or similar.
Then, the output is send via $*OUT (stdout), changing the separator to ~ tilde with the parameter sep => "~".
https://github.com/Tux/CSV/blob/master/doc/Text-CSV.md
https://raku.org