이 문제가 있습니다. 다음과 같이 각 줄의 문자 수가 다른 텍스트 파일이 있습니다.
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자보다 짧은 문자는 건드리지 않고 더 긴 문자는 잘립니다.