How to make в double-newline?

I want to print in the Конечный something like this:

lollipop
lollipo
lollip
lolli
loll
lol
lo
l

However if i do-n twice i get в newline and then it just prints "-n" if i использовал я начинаю. How хан i avoid this from happening and make this mess not print when i run X:

lollipop
lollipo-nlollip-nlolli-nloll-nlol-nlo-nl

X:

echo lollipop -n lollipo -n lollip -n lolli -n loll -n lol -n lo -n l
1
задан 9 December 2015 в 01:00

3 ответа

Необходимо использовать-e, "позволяют интерпретации опции" Escape обратной косой черты с \n вызвать новые строки

echo -e "lollipop\nlollipo\nlollip\nlolli\nloll\nlol\nlo\nl"
8
ответ дан 3 December 2019 в 06:19

Используйте printf вместо этого:

printf "lollipop\nlollipo\nlollip\nlolli\nloll\nlol\nlo\nl"

2
ответ дан 3 December 2019 в 06:19

Предпочтите и портативные инструменты высокого уровня для специального форматирования вместо таких инструментов как эхо. Здесь я использую AWK для печати когда-либо уменьшающейся подстроки, которой предоставили here-string. Обратите внимание, что я, возможно, использовал printf "%s" lollipop | awk . . . также для лучшей мобильности

$ awk '{for(i=length($1);i>=1;i--) print substr($1,1,i)}' <<< "lollipop"       
lollipop
lollipo
lollip
lolli
loll
lol
lo
l

, функция печати AWK всегда печатает одну строку, подобную Java System.out.println. Это могло быть заменено print "%s\n",substr($1,1,i)

2
ответ дан 3 December 2019 в 06:19

Другие вопросы по тегам:

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