develooper Front page | perl.perl6.users | Postings from September 2022

steps of a path

Thread Next
Marc Chantreux
September 3, 2022 17:17
steps of a path
Message ID:
hello people,

I have this steps() function implemented this way in shell:

steps() sed -r ':b p; s,/[^/]+$,,; t b'
# demo:
<<. steps | xargs ls -lUd

which shows

-rw-r-----  1 root adm  464304 Sep  3 19:03 /var/log/messages
drwxr-xr-x 22 root root   4096 Sep  3 00:00 /var/log
drwxr-xr-x 14 root root   4096 Jun 19  2021 /var

for those who don't know sed that much, the perl equivalent is:

	steps() perl -lpe 'do {print} while s,/[^/]+$,,'

I thought the raku one could be shorter but for now I'm stuck
with a very long solution.

my \path = [ "/var/log/messages" .split: "/" ];
.say for (^path).map( { path[0..$_].join: "/" } )[1..*];

I'm pretty sure I saw a very concise and elegant way to transform
( A B C ) to ((A) (A B) (A B C)) in the past but I'm enable to figure
out how. Any help on that ?

thanks by advance.

Marc Chantreux
Pôle de Calcul et Services Avancés à la Recherche (CESAR)

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About