Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.user > #225869
| From | John Crawley <john@bunsenlabs.org> |
|---|---|
| Newsgroups | linux.debian.user |
| Subject | Re: delimiters with more than one character? ... |
| Date | 2020-08-05 08:30 +0200 |
| Message-ID | <AAl61-1NF-15@gated-at.bofh.it> (permalink) |
| References | <AssHn-5be-3@gated-at.bofh.it> |
| Organization | BunsenLabs |
On 2020-07-14 21:52, Albretch Mueller wrote:
> I have a string delimited by two characters: "\|"
>
> _S=" 34 + 45 \| abc \| 1 2 3 \| c\|123abc "
>
> which then I need to turn into a array looking like:
>
> _S_AR=(
> " 34 + 45"
> " abc"
> " 1 2 3"
> " c"
> "123abc"
> )
>
> Is it possible to do such things in bash?
Yes, if you don't mind running a loop.
This method cuts off the first part of the string, up to the delimiter,
and adds it to the array, then continues with what's left of the string
until there's none left:
---
#!/bin/bash
_S=' 34 + 45 \| abc \| 1 2 3 \| c\|123abc '
del='\|'
arr=()
s=${_S}${del}
while [[ -n $s ]]
do
arr+=( "${s%%"${del}"*}" )
s=${s#*"${del}"}
done
declare -p arr
---
outputs:
declare -a arr=([0]=" 34 + 45 " [1]=" abc\\ " [2]=" 1 2 3 " [3]=" c"
[4]="123abc ")
I've used this myself, so am eager to hear of any hidden snags. :)
(One already: if the delimiter is a repeated character which might also
be the last in the last string fragment, then the loop never closes.
Fairly rare?)
Originally found here:
https://www.tutorialkart.com/bash-shell-scripting/bash-split-string/
--
John
Back to linux.debian.user | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
delimiters with more than one character? ... Albretch Mueller <lbrtchx@gmail.com> - 2020-07-14 15:00 +0200
Re: delimiters with more than one character? ... Alex Mestiashvili <amestia@rsh2.donotuse.de> - 2020-07-14 15:00 +0200
Re: delimiters with more than one character? ... Greg Wooledge <wooledg@eeg.ccf.org> - 2020-07-14 15:10 +0200
Re: delimiters with more than one character? ... Nicolas George <george@nsup.org> - 2020-07-14 15:10 +0200
Re: delimiters with more than one character? ... Alex Mestiashvili <amestia@rsh2.donotuse.de> - 2020-07-14 15:20 +0200
Re: delimiters with more than one character? ... Greg Wooledge <wooledg@eeg.ccf.org> - 2020-07-14 15:10 +0200
Re: delimiters with more than one character? ... Nicolas George <george@nsup.org> - 2020-07-14 15:20 +0200
Re: delimiters with more than one character? ... Nicolas George <george@nsup.org> - 2020-07-14 17:30 +0200
Re: delimiters with more than one character? ... Albretch Mueller <lbrtchx@gmail.com> - 2020-07-15 12:30 +0200
Re: delimiters with more than one character? ... Greg Wooledge <wooledg@eeg.ccf.org> - 2020-07-15 14:00 +0200
Re: delimiters with more than one character? ... David Wright <deblis@lionunicorn.co.uk> - 2020-07-15 14:30 +0200
Re: delimiters with more than one character? ... Bob Weber <bobrweber@gmail.com> - 2020-07-15 14:40 +0200
Re: delimiters with more than one character? ... Greg Wooledge <wooledg@eeg.ccf.org> - 2020-07-15 14:50 +0200
Re: delimiters with more than one character? ... Bob Weber <bobrweber@gmail.com> - 2020-07-15 16:20 +0200
Re: delimiters with more than one character? ... Greg Wooledge <wooledg@eeg.ccf.org> - 2020-07-15 16:30 +0200
Re: delimiters with more than one character? ... The Wanderer <wanderer@fastmail.fm> - 2020-07-15 16:30 +0200
Re: delimiters with more than one character? ... Nicolas George <george@nsup.org> - 2020-07-15 17:50 +0200
Re: delimiters with more than one character? ... Nicolas George <george@nsup.org> - 2020-07-15 15:10 +0200
Re: delimiters with more than one character? ... Bob Weber <bobrweber@gmail.com> - 2020-07-14 17:30 +0200
Re: delimiters with more than one character? ... Alessandro Baggi <alessandro.baggi@gmail.com> - 2020-07-15 17:30 +0200
Re: delimiters with more than one character? ... Eric S Fraga <e.fraga@ucl.ac.uk> - 2020-07-16 12:10 +0200
Re: delimiters with more than one character? ... "Thomas Schmitt" <scdbackup@gmx.net> - 2020-07-16 13:40 +0200
Re: delimiters with more than one character? ... Greg Wooledge <wooledg@eeg.ccf.org> - 2020-07-16 14:00 +0200
Re: delimiters with more than one character? ... Greg Wooledge <wooledg@eeg.ccf.org> - 2020-07-16 16:00 +0200
Re: delimiters with more than one character? ... Zenaan Harkness <zenaan@freedbms.net> - 2020-07-17 04:50 +0200
Re: delimiters with more than one character? ... Nicolas George <george@nsup.org> - 2020-07-17 10:50 +0200
Re: delimiters with more than one character? ... rhkramer@gmail.com - 2020-07-17 13:20 +0200
tmpfs is not a ramdisk (was: delimiters with more than one character? ...) Nicolas George <george@nsup.org> - 2020-07-17 13:30 +0200
Re: tmpfs is not a ramdisk (was: delimiters with more than one character? ...) David Wright <deblis@lionunicorn.co.uk> - 2020-07-17 18:20 +0200
Re: tmpfs is not a ramdisk (was: delimiters with more than one character? ...) rhkramer@gmail.com - 2020-07-17 20:30 +0200
Re: tmpfs is not a ramdisk (was: delimiters with more than one character? ...) Zenaan Harkness <zenaan@freedbms.net> - 2020-07-18 07:20 +0200
Re: tmpfs is not a ramdisk (was: delimiters with more than one character? ...) <tomas@tuxteam.de> - 2020-07-18 10:40 +0200
Re: delimiters with more than one character? ... Greg Wooledge <wooledg@eeg.ccf.org> - 2020-07-17 13:40 +0200
Re: delimiters with more than one character? ... "Thomas Schmitt" <scdbackup@gmx.net> - 2020-07-16 16:00 +0200
Re: delimiters with more than one character? ... Zenaan Harkness <zenaan@freedbms.net> - 2020-07-17 04:50 +0200
Re: delimiters with more than one character? ... Eric S Fraga <e.fraga@ucl.ac.uk> - 2020-07-16 15:00 +0200
Re: delimiters with more than one character? ... John Crawley <john@bunsenlabs.org> - 2020-08-05 08:30 +0200
Re: delimiters with more than one character? ... Greg Wooledge <wooledg@eeg.ccf.org> - 2020-08-05 15:10 +0200
Re: delimiters with more than one character? ... John Crawley <john@bunsenlabs.org> - 2020-08-06 05:00 +0200
Re: delimiters with more than one character? ... Greg Wooledge <wooledg@eeg.ccf.org> - 2020-08-06 13:40 +0200
Re: delimiters with more than one character? ... John Crawley <john@bunsenlabs.org> - 2020-08-07 03:10 +0200
csiph-web