Creating a pseudo-array in dash, (POSIX).


Login or Register to Reply

 
Thread Tools Search this Thread
# 8  
@ Don...

Each element in the pseudo-array will be a ASCII number from 0 to 255 decimal the value of an 8 bit byte, (so therefore 1 to 3 characters long); a simple audio sample.
(However it could be a 2 byte word from 0 to 65535 decimal, depends how I feel; a more accurate sample if I decide.)
I used newlines as an element separator in one of my examples but any IFS value would probably be OK by me...

You mention ed and I have never, ever used it and I like the idea you put forwards so man page and www it is to see the possibiities.
Is there a limit to POSIX's number of variables, or is that limited to available real memory and element sizes?

@ Jim M...

I code for pure fun and I really love trying the _impossible_ and making languages do stuff they were not designed to do.

@ Scrutinzer...

Not in my local environment at the moment but will try your method out.
# 9  
Quote:
Originally Posted by wisecracker
@ Don...

Each element in the pseudo-array will be a ASCII number from 0 to 255 decimal the value of an 8 bit byte, (so therefore 1 to 3 characters long); a simple audio sample.
(However it could be a 2 byte word from 0 to 65535 decimal, depends how I feel; a more accurate sample if I decide.)
I used newlines as an element separator in one of my examples but any IFS value would probably be OK by me...

You mention ed and I have never, ever used it and I like the idea you put forwards so man page and www it is to see the possibiities.
Is there a limit to POSIX's number of variables, or is that limited to available real memory and element sizes?

... ... ...
If you're used to using vi you've been using ed for as long as you've been using vi; you just didn't know it. And, by the way, everything I say about ed in the rest of this note also applies to the ex utility. I usually use ed instead of ex because ed is usually smaller than ex, and, therefore, loads faster. There are a few small differences between ed and ex, but none of them apply to the examples used in the following discussion.

In vi when you hit escape (to exit text append mode) and issue a command that starts with a <colon>, everything you enter after the colon is an ed command.

For example the vi the :w filename command writes the current contents of the editing buffer to the file named filename. In ed the command w filename writes the current contents of the editing buffer to the file named filename.

In vi the command :100s/.*/123/ will change the contents of line 100 in the editing buffer to the string "123". In ed the command 100s/.*/123/ will change the contents of line 100 in the editing buffer to the string "123".

In vi the command :100,200g/^.$/s/^/0/ followed by the command :100,200g/^..$/s/^/0/ will add leading zero characters on any of lines 100 through 200 of your editing buffer that had only one or two characters to have three characters on those lines with leading zero fill. In ed the command 100,200g/^.$/s/^/0/ followed by the command 100,200g/^..$/s/^/0/ will add leading zero characters on any of lines 100 through 200 of your editing buffer that had only one or two characters to have three characters on those lines with leading zero fill.

According to POSIX, the number of variables you can have in the shell and the length of values assigned to those variables is limited by the amount of physical memory available to the shell and the address space available to the shell in its addressable data space. The length of lines in ed is further restricted because the behavior of ed is only defined if the file you are editing is a text file and the standard says that a file is not a text file if it contains a line containing more than LINE_MAX bytes (including the terminating <newline> character) and implementations are required to set the implementation's LINE_MAX configuration limit to a value no smaller than 2048.

Cheers,
Don
This User Gave Thanks to Don Cragun For This Post:
Login or Register to Reply

|
Thread Tools Search this Thread
Search this Thread:
Advanced Search

More UNIX and Linux Forum Topics You Might Find Helpful
Creating an array
jrymer
I am having trouble creating an array, I've tried everything google gives me but it won't work, and it seems as though it should. Using Ubunto 12.04 and bash. #!/bin/bash ARRAY=one two three echo ${ARRAY}When I do this I receive the error : two: not found and : Bad substitution When I...... UNIX for Dummies Questions & Answers
3
UNIX for Dummies Questions & Answers
creating variable array name
priyanka3006
#!/bin/ksh #export CLASSPATH=$CLASSPATH:~dialp/cso/classes:/opt/oracle/product/8.1.6/jdbc/lib/classes12.zip #export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/oracle/product/8.1.6/lib DATE="`date '+%m%d%Y'`" PATH=.:$PATH export PATH town_name='123' town_name='123' town_name='345'...... Shell Programming and Scripting
1
Shell Programming and Scripting
Creating an array to hold posix thread ids: Only dynamic array works
kmehta
I am facing a strange error while creating posix threads: Given below are two snippets of code, the first one works whereas the second one gives a garbage value in the output. Snippet 1 This works: -------------- int *threadids; threadids = (int *) malloc (num_threads * sizeof(int)); ...... Programming
4
Programming
pseudo: [ID 129642 kern.info] pseudo-device: vol0
mndavies
Hi I have a system that gave me some messages on bootup that I was not used to seeing: pseudo: pseudo-device: vol0 genunix: vol0 is /pseudo/vol@0 these came with these: Feb 13 17:42:17 system1 eri: SUNW,eri0 : 100 Mbps full duplex link up Feb 13 17:42:21 system1sendmail: My unqualified...... Solaris
0
Solaris
creating array variable
scriptingmani
Hi all, i am quite fimiliar with shell scripting but i wouldn't regard myself as a semi professional at it. I am trying to create an array variable to read in 4 lines from a file using head and tail command in a pipeline and store each line into each array. I have done the scripting in unix...... Shell Programming and Scripting
2
Shell Programming and Scripting