![출력 파일의 원하는 위치에 컷 필드 배치 [닫기]](https://linux55.com/image/55636/%EC%B6%9C%EB%A0%A5%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EC%9B%90%ED%95%98%EB%8A%94%20%EC%9C%84%EC%B9%98%EC%97%90%20%EC%BB%B7%20%ED%95%84%EB%93%9C%20%EB%B0%B0%EC%B9%98%20%5B%EB%8B%AB%EA%B8%B0%5D.png)
cut
입력 파일에서 필드를 가져와 출력 파일에 추가하는 스크립트를 작성 중입니다 .
cat $1|while read line
do
acc_no=`echo "$line" | cut -c29-43`
acc_type=`echo "$line"|cut -c124-125`
echo "$acc_no","$acc_type" >> out.csv
done
여기에서는 ","를 사용하여 구분합니다. 이제 출력 파일에 다음과 같은 내용을 갖고 싶습니다.
acc_no
20 to 33
acc_type
출력 파일의 위치에서 출력 파일의 위치 에서1 to 2
구분 기호가 필요하지 않으며 위치별로 이러한 항목에 액세스하고 싶습니다.
어떻게 해야 하나요?
답변1
노력하다
printf "%-2s%18s%s\n" $acc_type " " $acc_no >> out.csv
형식 문자열은 다음과 같습니다.
- %2s: 2자 너비의 열, 왼쪽 정렬
- %18s: 너비가 18자이며 비어 있습니다.
- %sa 문자열입니다.