From 1daac7990d8f8cb69a3266e1308e13c85a8064ee Mon Sep 17 00:00:00 2001 From: domi41 Date: Sat, 20 Nov 2021 15:30:07 +0100 Subject: [PATCH] feat: support files with CRLF endings Thanks to Armand ! --- example/example12.csv | 4 ++++ main_test.go | 6 ++++++ reader/reader.go | 3 +++ 3 files changed, 13 insertions(+) create mode 100644 example/example12.csv diff --git a/example/example12.csv b/example/example12.csv new file mode 100644 index 0000000..42570c1 --- /dev/null +++ b/example/example12.csv @@ -0,0 +1,4 @@ +,Reject,poor,fair,good,Very good,excellent +Massinissa,2,0,0,0,0,0 +Armand,0,2,0,0,0,0 +Thomas,0,0,1,1,0,0 diff --git a/main_test.go b/main_test.go index 9e7e374..b31b64e 100644 --- a/main_test.go +++ b/main_test.go @@ -62,6 +62,12 @@ var testData = []struct { "example/example11.ssv", }, }, + { + name: "CRLF, example12.ssv", + args: []string{ + "example/example12.ssv", + }, + }, { name: "--sort usage, example.csv", args: []string{ diff --git a/reader/reader.go b/reader/reader.go index de42916..bdf87d7 100644 --- a/reader/reader.go +++ b/reader/reader.go @@ -31,6 +31,9 @@ func sanitizeInput(input string) string { // Remove duplicate spaces sanitized = regexp.MustCompile(` +`).ReplaceAllString(sanitized, " ") + // Remove Carriage Return (CRLF into LF) + sanitized = regexp.MustCompile(`\r\n`).ReplaceAllString(sanitized, "\n") + // … return sanitized