250자 길이(고정)의 레코드에 약 40자 정도의 데이터가 있습니다. 하지만 나머지 250-40=210자를 공백으로 추가하고 싶습니다. UNIX 스크립트에서는 이를 어떻게 수행합니까?
답변1
사용 awk
:
awk '{ printf "%-250s\n", $0 }' infile >outfile
%-250s
여기에 사용된 형식 문자열은 printf
매개변수 $0
(현재 행)를 250자 길이의 문자열로 형식화합니다. 이 250자 내에서 원래 줄은 왼쪽 정렬되고 입력 줄의 비어 있는 비트는 250자리를 채우기 위해 공백으로 채워집니다.
입력 라인의 길이가 250자를 초과하면 입력 라인이 출력에서 수정되지 않은 채 재생산됩니다. 250자로 너무 긴 줄을 자르려면 위 코드에서 substr($0,1,250)
in을 사용하세요 $0
.