URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 10131
[ Назад ]

Исходное сообщение
"строка в обратном порядке без sed и awk"

Отправлено grizzlynet , 05-Дек-16 09:27 
Всем привет! Есть у кого варианты вывода echo "10:9:8:7:6:5:4:3:2:1" > file, без использования sed и awk, в обратно порядке. Результат 1:2:3:4:5:6:7:8:9:10 ?

Содержание

Сообщения в этом обсуждении
"строка в обратном порядке без sed и awk"
Отправлено михалыч , 05-Дек-16 13:07 
> Всем привет! Есть у кого варианты вывода echo "10:9:8:7:6:5:4:3:2:1" > file, без
> использования sed и awk, в обратно порядке. Результат 1:2:3:4:5:6:7:8:9:10 ?

echo "10:9:8:7:6:5:4:3:2:1" | perl -lne 'print join(":",reverse split(":",$_))'


"строка в обратном порядке без sed и awk"
Отправлено Andrey Mitrofanov , 05-Дек-16 18:44 
> echo "10:9:8:7:6:5:4:3:2:1" | perl -lne 'print join(":",reverse split(":",$_))'

В bash-е ж есть Map-Reduce! :D

$ echo 10:9:8:7:6:5:4:3:2:1 |xargs -d: -n1 |tac |xargs |tr \  :
1:2:3:4:5:6:7:8:9:10
$ _


"строка в обратном порядке без sed и awk"
Отправлено михалыч , 05-Дек-16 19:01 
>> echo "10:9:8:7:6:5:4:3:2:1" | perl -lne 'print join(":",reverse split(":",$_))'
> В bash-е ж есть Map-Reduce! :D
> $ echo 10:9:8:7:6:5:4:3:2:1 |xargs -d: -n1 |tac |xargs |tr \  :
> 1:2:3:4:5:6:7:8:9:10
> $ _

да, но вдруг у ТС баша нет ;)
ТС признавайся, что молчишь как рыба об лёд?


"строка в обратном порядке без sed и awk"
Отправлено DeadLoco , 19-Дек-16 18:34 
> да, но вдруг у ТС баша нет ;)

специально для безбашенных:

echo "10:9:8:7:6:5:4:3:2:1" | tr ':' '\n' | tail -r | tr '\n' ':' | (read L; echo ${L%:})

Укороченный, со складывающимся прикладом:
echo "10:9:8:7:6:5:4:3:2:1" | rs -Tc: | tail -r | rs -TC: | (read L; echo ${L%:})

Бонусный, неконвенциональный:

echo "10:9:8:7:6:5:4:3:2:1" | jot -s: 10


"строка в обратном порядке без sed и awk"
Отправлено Andrey Mitrofanov , 05-Дек-16 19:03 
> Всем привет! Есть у кого варианты вывода echo "10:9:8:7:6:5:4:3:2:1" > file, без
> использования sed и awk, в обратно порядке. Результат 1:2:3:4:5:6:7:8:9:10 ?

Э-э-эгм?? А _с_ использованием _чего??  //Привет преподу -- пусть старается лучше.

$ echo 10:9:8:7:6:5:4:3:2:1 | ( IFS=: read -a A; B=(); for((i=${#A[*]};i>0;)); do let i--; B=(${B[*]} ${A[$i]}); done; echo "${B[*]}"| tr \  : )
1:2:3:4:5:6:7:8:9:10
$ echo 10:9:8:7:6:5:4:3:2:1 | ( IFS=: read -a A; B=; for((i=${#A[*]};i>0;)); do let i--; B="${B}${B:+:}${A[$i]}"; done; echo "${B}" )
1:2:3:4:5:6:7:8:9:10
$ echo 10:9:8:7:6:5:4:3:2:1 | ( read S; T=; while [ "$S" ]; do <<<"$S" IFS=: read M S;T="$M${T:+:${T}}";done; echo "$T" )
1:2:3:4:5:6:7:8:9:10
$ _


"строка в обратном порядке без sed и awk"
Отправлено Andrey Mitrofanov , 05-Дек-16 19:08 
>> Всем привет! Есть у кого варианты вывода echo "10:9:8:7:6:5:4:3:2:1" > file, без
>> использования sed и awk, в обратно порядке. Результат 1:2:3:4:5:6:7:8:9:10 ?
> Э-э-эгм?? А _с_ использованием _чего??  //Привет преподу -- пусть старается лучше.

Ну, и почти(тм) победитель:

$ echo 10:9:8:7:6:5:4:3:2:1 | tac --separator=:
1
2:3:4:5:6:7:8:9:10:$ _


"строка в обратном порядке без sed и awk"
Отправлено михалыч , 05-Дек-16 19:22 
>>> Всем привет! Есть у кого варианты вывода echo "10:9:8:7:6:5:4:3:2:1" > file, без
>>> использования sed и awk, в обратно порядке. Результат 1:2:3:4:5:6:7:8:9:10 ?
>> Э-э-эгм?? А _с_ использованием _чего??  //Привет преподу -- пусть старается лучше.
> Ну, и почти(тм) победитель:
> $ echo 10:9:8:7:6:5:4:3:2:1 | tac --separator=:
> 1
> 2:3:4:5:6:7:8:9:10:$ _

препод - ПРЕВЕД!!
стьюдент энд препод детектид ))

у меня почти также ))
echo "10:9:8:7:6:5:4:3:2:1" | perl -ne 'print join(":",reverse split(":",$_))'
1
:2:3:4:5:6:7:8:9:10
почти ))

и да, препод - старайся лучше ))


"строка в обратном порядке без sed и awk"
Отправлено grizzlynet , 05-Дек-16 20:26 
>[оверквотинг удален]
>> 1
>> 2:3:4:5:6:7:8:9:10:$ _
> препод - ПРЕВЕД!!
> стьюдент энд препод детектид ))
> у меня почти также ))
> echo "10:9:8:7:6:5:4:3:2:1" | perl -ne 'print join(":",reverse split(":",$_))'
> 1
> :2:3:4:5:6:7:8:9:10
> почти ))
> и да, препод - старайся лучше ))

Ребята я не студент и не препод :), увидел в видео курсе, спасибо.


"строка в обратном порядке без sed и awk"
Отправлено DeadLoco , 19-Дек-16 16:59 
> Ну, и почти(тм) победитель:

У меня почтее:

 > echo "10:9:8:7:6:5:4:3:2:1" | rev
1:2:3:4:5:6:7:8:9:01


"строка в обратном порядке без sed и awk"
Отправлено _ , 21-Дек-16 18:16 
> Ну, и почти(тм) победитель:
> $ echo 10:9:8:7:6:5:4:3:2:1 | tac --separator=:
> 1
> 2:3:4:5:6:7:8:9:10:$ _

Тогда вот победитель! (следите за руками ...):
$ echo 10:9:8:7:6:5:4:3:2:1 | tac --separator=::
10:9:8:7:6:5:4:3:2:1


Митрофанов не спрашивай меня "как?!?!" :) Это баш, детка! (Ъ) :)


"строка в обратном порядке без sed и awk"
Отправлено _ , 21-Дек-16 18:18 
... тля! И вроде же не бухал даже :-)
Отбой предыдущему сообщению :)

"строка в обратном порядке без sed и awk"
Отправлено Andrey Mitrofanov , 21-Дек-16 23:26 
>> Ну, и почти(тм) победитель:
> Тогда вот победитель! (следите за руками ...):
> $ echo 10:9:8:7:6:5:4:3:2:1 | tac --separator=::
> 10:9:8:7:6:5:4:3:2:1

Но, чори возьми, Холмс  ....   !

> Митрофанов не спрашивай меня "как?!?!" :) Это баш, детка! (Ъ) :)

А спросить, где взял, можно? L-))


"строка в обратном порядке без sed и awk"
Отправлено Andrey Mitrofanov , 21-Дек-16 23:31 
>> Тогда вот победитель! (следите за руками ...):
>> $ echo 10:9:8:7:6:5:4:3:2:1 | tac --separator=::
>$ echo>> 10:9:8:7:6:5:4:3:2:1
> Но, чори возьми, Холмс  ....   !

Ах, Мастер! Поймал, так поймал.  :DDD

>> Митрофанов не спрашивай меня "как?!?!" :) Это баш, детка! (Ъ) :)


"строка в обратном порядке без sed и awk"
Отправлено _ , 29-Дек-16 18:06 
>>> Митрофанов не спрашивай меня "как?!?!" :) Это баш, детка! (Ъ) :)

А всё потому что ты его (баш) курить не пробовал! Я вот попробовал ... :)



"строка в обратном порядке без sed и awk"
Отправлено grizzlynet , 05-Дек-16 20:40 
>[оверквотинг удален]
> let i--; B=(${B[*]} ${A[$i]}); done; echo "${B[*]}"| tr \  :
> )
> 1:2:3:4:5:6:7:8:9:10
> $ echo 10:9:8:7:6:5:4:3:2:1 | ( IFS=: read -a A; B=; for((i=${#A[*]};i>0;)); do
> let i--; B="${B}${B:+:}${A[$i]}"; done; echo "${B}" )
> 1:2:3:4:5:6:7:8:9:10
> $ echo 10:9:8:7:6:5:4:3:2:1 | ( read S; T=; while [ "$S" ];
> do <<<"$S" IFS=: read M S;T="$M${T:+:${T}}";done; echo "$T" )
> 1:2:3:4:5:6:7:8:9:10
> $ _

Andrey Mitrofanov не ищет легких путей:)


"строка в обратном порядке без sed и awk"
Отправлено Led , 05-Дек-16 23:51 
s=$(echo "10:9:8:7:6:5:4:3:2:1": | tac -s: | tail -1); echo "$s"