[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Question that baffles AI (all of them)
From: |
Saint Michael |
Subject: |
Re: Question that baffles AI (all of them) |
Date: |
Sat, 15 Jun 2024 21:51:49 -0400 |
np() {
declare IFS=', '
set -- $*
IFS=$' \t\n'
if (( $# == 1 )) ; then
printf %s\\n "$1"
else
printf %s "$1"
printf ', %s' "${@:2}"
printf \\n
fi
}
for f ; do
np "$f"
done
-------
dat.sh 1 2 "the is a really long text that has ! commas,, and #3 , a, b" 4 5
1
2
the, is, a, really, long, text, that, has, !, commas, , and, #3, a, b
4
5
So there does not seem an obvious way to do this.
Any ideas about how to send an arbitrary string to a bash script and
get into a variable, without alterations?
On Sat, Jun 15, 2024 at 8:12 PM alex xmb sw ratchev <fxmbsw7@gmail.com> wrote:
>
> bash dat.sh.2 1 2 "3 , a, b" 4 5
> 1
> 2
> 3, a, b
> 4
> 5
>
>
> maybe u actually ask to not printf but actually act on those values ..
>
>
> On Sun, Jun 16, 2024, 1:44 AM Saint Michael <venefax@gmail.com> wrote:
>>
>> # numproc
>> np() {
>> declare IFS=', '
>> set -- $*
>> IFS=$' \t\n'
>> while (( $# >1 )) ; do
>> echo $1
>> shift
>> done
>> }
>>
>> np "$*"
>>
>> if I call your example with: dat.sh 1 2 "3 , a, b" 4 5
>> how do I get
>> 1
>> 2
>> 3 , 1, b
>> 4
>> 5
>>
>>
>> On Sat, Jun 15, 2024 at 5:48 PM alex xmb sw ratchev <fxmbsw7@gmail.com>
>> wrote:
>> >
>> > bash dat.sh.1 1,2,3,4
>> > a 1 , b 2
>> > a 3 , b 4
>> >
>> >
>> > or u meant to equally split the args ?
>> >
>> > On Sat, Jun 15, 2024, 11:30 PM Saint Michael <venefax@gmail.com> wrote:
>> >>
>> >> in this code:
>> >> data="'1,2,3,4','5,6,7,8'"
>> >>
>> >> # Define the processing function
>> >> process() {
>> >> echo "There are $# arguments."
>> >> echo "They are: $@"
>> >> local job="$1"
>> >> shift
>> >> local a="$1"
>> >> shift
>> >> local b="$1"
>> >> shift
>> >> local remaining="$*"
>> >> echo "Arg1: '$a', Arg2: '$b'"
>> >> }
>> >> process "$data"
>> >>
>> >> how can I get my (a) and (b) arguments right?
>> >> The length of both strings is unpredictable.
>> >> a="1,2,3,4" and b="5,6,7,8""
>> >>