Удалить запятые из верхнего и нижнего колонтитула с помощью sed
Я хотел бы удалить запятые из верхнего и нижнего колонтитула моего файла. Я использую следующую команду, которая удаляет запятые, но сканирует все строки в файле, чего я не хочу.
cat DBS_xx_2014-09-23_234.csv | sed 's/[,\t]*$//' > output.csv
Входной файл:
000N5 DBS 103151201409220007770001,,,,,,,,,,,,,,,,,,,,,,,,,,,,
10,1256,19700802,,,,SMITH,,ABC,,1,,,,,,GX1 4NL
10,1256,19690802,,,,WilliAM,,XX,,1,,,,,,Gl15 4MX
101RN5 DBS 103151201409220007770001,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Ожидаемый результат:
000N5 DBS 103151201409220007770001
10,1256,19700802,,,,SMITH,,ABC,,1,,,,,,GX1 4NL
10,1256,19690802,,,,WilliAM,,XX,,1,,,,,,Gl15 4MX
101RN5 DBS 103151201409220007770001
1 ответ
Решение
Приведенная ниже команда sed удалит все запятые только из первой и последней строки.
$ sed '1s/,\+//g;$s/,\+//g' file
000N5 DBS 103151201409220007770001
10,1256,19700802,,,,SMITH,,ABC,,1,,,,,,GX1 4NL
10,1256,19690802,,,,WilliAM,,XX,,1,,,,,,Gl15 4MX
101RN5 DBS 103151201409220007770001