Another solution using dlangs builtin csv support for reading. import std.csv; import std.file; import std.algorithm : map; import std.range;
string csvWrite(Header, Rows)(Header header, Rows rows) { return header.join(",") ~ "\n" ~ rows.map!(r => header.map!(h => r[h]).join(",")).join("\n"); } int main(string[] args) { auto inputFile = args[1]; auto columnName = args[2]; auto replacement = args[3]; auto outputFile = args[4]; auto records = readText(inputFile).csvReader!(string[string])(null); write(outputFile, csvWrite(records.header, records.map!((r) { r[columnName] = replacement; return r; }))); return 0; } Unfortunately this is still far from the powershell solution :/ cK