Удалить запятые из верхнего и нижнего колонтитула с помощью 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
Другие вопросы по тегам