여러 행이 있는데 각 행은 콜론으로 구분된 값입니다.
abc:def:3
이제 printf와 IFS 변수를 사용하여 형식을 다시 지정할 수 있습니다.
while read line; do IFS=":" printf "%-20s %-16s %5d\n" ${line[0]} ${line[1]} ${line[2]}; done < XX
그런데 VIM에서 구현이 가능한가요?
답변1
기본적으로 vi
다음과 같이 명령을 호출하여 이 작업을 수행할 수 있습니다.
:%!column -ts:
(하나가 있고 column
해당 옵션을 지원하는 경우 -s
)
그렇지 않으면 다음과 같이 할 수 있습니다.
:%s/[^:]\+/ &/g
:%s/\v^ *([^:]{20}): *([^:]{16}): *([^:]{5})/\1:\2:\3/