jak bazować-dekodować plik wiersz po wierszu

5

Mam plik, który jest kodowany przez base64:

5byg5bCP5piO
c2FyYWg=
5p2O56OK

Chcę go zdekodować wiersz po wierszu:

:%!base64 -d

Ale dostaję wszystko w jednej linii:

张小明sarah李磊

Chcę:

张小明
sarah
李磊

Jak mogę to zrobić?

kev
źródło

Odpowiedzi:

3

Innym rozwiązaniem jest to, co dla mnie działa dobrze.

%g/^/.!base64 -d
Martian
źródło
1
:g/./.!base64 -d
kev
vimgolfist? ;-) Tak, ten % jest w przypadku :g zbędny. Również . regexp ma sens - nie ma sensu próbować dekodować pustych linii.
Martian
4
:%normal !!base64 -d^M

:{range}norm[al][!] {commands}                          *:normal-range*
                        Execute Normal mode commands {commands} for each line
                        in the {range}.  Before executing the {commands}, the
                        cursor is positioned in the first column of the range,
                        for each line.  Otherwise it's the same as the
                        ":normal" command without a range.
                        {not in Vi}
                        Not available when |+ex_extra| feature was disabled at
                        compile time.
kev
źródło
Na Mac OS musiałem użyć opcji -D. -d nie działa.
user674669