Печатайте максимум n символов в строке, но без вырезания

Попробуйте с perl

IDS=$(curl -sv http://example.com |& perl -lne 'print $1 if /data-user_id="(\d+)"/')
0
27.03.2017, 20:48
4 ответа

Perl

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

Sed1

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

Sed2

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

Bash

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
28.01.2020, 02:13

Классический grep за все время:

$ echo "$a"
aaaa
bbbbbbbbb
cc

$ echo "$a" |egrep -o '(.){1,4}'
aaaa
bbbb
bbbb
b
cc
2
28.01.2020, 02:13
sed 's_\(....\).*_\1_' /path/to/input

Все, что короче четырех символов, не будет тронуто; все, что длиннее, будет усечено.

0
28.01.2020, 02:13
fold -w4 yourfile

Output

aaaa
bbbb
bbbb
b
cc
3
28.01.2020, 02:13

Теги

Похожие вопросы