convert a fixed width file from text to csv
问题 I have a large data file in text format and I want to convert it to csv by specifying each column length. number of columns = 5 column length [4 2 5 1 1] sample observations: aasdfh9013512 ajshdj 2445df Expected Output aasd,fh,90135,1,2 ajsh,dj, 2445,d,f 回答1: GNU awk (gawk) supports this directly with FIELDWIDTHS , e.g.: gawk '$1=$1' FIELDWIDTHS='4 2 5 1 1' OFS=, infile Output: aasd,fh,90135,1,2 ajsh,dj, 2445,d,f 回答2: I would use sed and catch the groups with the given length: $ sed -r 's/^(.