산출

산출

이 문제가 있습니다. 다음과 같이 각 줄의 문자 수가 다른 텍스트 파일이 있습니다.

aaaa
bbbbbbbbb
cc

이제 아무것도 잃지 않고 한 줄에 최대 N자를 포함하는 새 텍스트 파일을 생성하고 싶습니다. 따라서 다음과 같습니다(예: 각 줄은 최대 4자여야 합니다).

aaaa
bbbb
bbbb
b
cc

한 줄로 이나 다른 도구를 sed사용할 awk수 있습니까 ?grep

답변1

fold -w4 yourfile

산출

aaaa
bbbb
bbbb
b
cc

답변2

진주

perl -lne 'print for /.{1,4}|^$/g' yourfile

sed1

sed -e '
   s/..../&\n/
   /\n$/P;//d
   P;D
' yourfile

측면 2

sed -e '
   s/..../&\n/g
   s/\n$//
' yourfile

불다

while IFS= read -r l; do
   case $l in '' ) echo; continue ;; esac
   while case $l in '' ) break ;; esac; do
      echo "${l:0:4}"
      l=${l:4:${#l}}
   done
done < yourfile

답변3

항상 고전적인 grep:

$ echo "$a"
aaaa
bbbbbbbbb
cc

$ echo "$a" |egrep -o '(.){1,4}'
aaaa
bbbb
bbbb
b
cc

답변4

sed 's_\(....\).*_\1_' /path/to/input

4자보다 짧은 문자는 건드리지 않고 더 긴 문자는 잘립니다.

관련 정보