Putting strings into positioning array in loop


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Putting strings into positioning array in loop
# 8  
Old 08-30-2018
Quote:
Originally Posted by annacreek
I am still trying to understand how bash code is executed.
Most of us have learnt this over many years, and I know I'm still learning! You are trying to be as knowledgeable in a matter of weeks.
Quote:
Perhaps my perception of code line executing "left to right" is basically wrong.



Look at line #277
Every "manual" I read about using "wc" states it "prints".
and by prints they mean "send its results to the Standard Output stream"
Quote:
I do not need "print" - I need to process what I am used to call "function return value".
OK, I understand 'wc" "prints" most likely to some "stdxxx" - as output of "pipe" .
So how does lineCount value , being at the "front" of the pipe get assigned?
And why is the file to be analyzed at the "end" of the code line?

Code:
 277 lineCount=$(wc -l < "$PWD$DEBUG_DIR$DEBUG_MENU")

The problem is bash uses other programs, such as awk, test and wc, the same way languages like C and Python use functions. But as these programs are meant to return their "values" to the terminal for a person to read, you can't just have
Code:
lineCount=wc "somefile"

Process Substitution is used to get over this problem. You know that with Parameter Substitution
Code:
var1="Dave"
var2="${var1}"

the string ${var1} is replaced with the value of var1, i.e. Dave, and assigned to var2. In the same way,
Code:
lines=$(wc -l <myfile)

will replace the string $(wc -l <myfile) with its "value", i.e. the string it attempts to send to the terminal.

I hope that helps.

Andrew
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Passing positioning array as whiptail -- menu option

I may have asked this before, so forgive OF. Problem: I can pass positioning array as -- menu option to whiptail, but it does not show in the whiptail form as an array - only single (first member "lsusb" ) entry / line shows up. Code: DynamicEntry=$(whiptail \ --title "DEBUG... (1 Reply)
Discussion started by: annacreek
1 Replies

2. Shell Programming and Scripting

Help tabulating file putting repeated strings as headers

Hi. May somebody help me with this. I´m trying to tabulate the following input file, but the desired output I´m getting is incorrect. I have access to GNU/LINUX (Ubuntu) and Cygwin Input file STAGE = 1 ID = 0 NAME = JFMSC TYPE = MLRR DFRUL = PERMISSION ADDR = 1001 RRUL =... (10 Replies)
Discussion started by: Ophiuchus
10 Replies

3. Shell Programming and Scripting

How to strip some characters before putting in array?

Hi Gurus, my current code like below: nawk '{f1 = (NF>1)?$1:""}{print f1, $NF}'|sed -e 's/s(/,/g;s/)//g;s/ *,/,/'|nawk -F"," '{ab}END{for (i in b) if (!(i in a))print i}' I have file like below. (this is autosys job dependencies) the job with s() is dependencies, the job without s() is... (10 Replies)
Discussion started by: ken6503
10 Replies

4. Shell Programming and Scripting

Taking information from a postgres sql query and putting it into a shell script array

I have a postgres sql statement that is the following: select age from students; which gives me the entries: Age --- 10 15 13 12 9 14 10 which is about 7 rows of data. Now what I would like to do with this is use a shell script to create an array age. As a results... (3 Replies)
Discussion started by: JSNY
3 Replies

5. Shell Programming and Scripting

awk loop using array:wish to store array values from loop for use outside loop

Here's my code: awk -F '' 'NR==FNR { if (/time/ && $5>10) A=$2" "$3":"$4":"($5-01) else if (/time/ && $5<01) A=$2" "$3":"$4-01":"(59-$5) else if (/time/ && $5<=10) A=$2" "$3":"$4":0"($5-01) else if (/close/) { B=0 n1=n2; ... (2 Replies)
Discussion started by: klane
2 Replies

6. Shell Programming and Scripting

Array Variable being Assigned Values in Loop, But Gone when Loop Completes???

Hello All, Maybe I'm Missing something here but I have NOOO idea what the heck is going on with this....? I have a Variable that contains a PATTERN of what I'm considering "Illegal Characters". So what I'm doing is looping through a string containing some of these "Illegal Characters". Now... (5 Replies)
Discussion started by: mrm5102
5 Replies

7. Programming

C; storing strings in an array

I am trying to get userinput from stdin and store the lines in an array. If i do this: using a char **list to store strings allocate memory to it #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv) { char *prog = argv; char **linelist; int... (5 Replies)
Discussion started by: tornow
5 Replies

8. Programming

Multidimensional array of strings with vector.

I've been struggling with this for quite some time. I decided I should get some help with this. Nothing is working. I'm getting a segmentation fault or out of bounds error when I try to load the entries in the for loop.I'm really frustrated. :mad: Compiling isn't the problem. It's crapping out on... (5 Replies)
Discussion started by: sepoto
5 Replies

9. Shell Programming and Scripting

How to run a loop for assigning strings which are present in a file to an array

Hi Forum, I am struggling with the for loop in shell script. Let me explain what is needed in the script. I have a file which will conatin some strings like file1 place1 place2 place3 checkpoint some other text some more text Now what my requirement is the words ... (2 Replies)
Discussion started by: siri_14
2 Replies

10. Programming

array of strings

Hi I need a better idea to implementing following in my code. I need to store 80 long strings that will be used to display one by one in my GUI application. now i am storing those 80 long string in following two dimentational array. uchar vpn_alm_long_str={ } each index will be an... (1 Reply)
Discussion started by: davidcreston
1 Replies
Login or Register to Ask a Question