Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Passing values from file into array in Bash Post 302732209 by spacebar on Friday 16th of November 2012 09:12:05 PM
Old 11-16-2012
Check out the below example, You should be able to modify it to do what you want to accomplish:
Code:
$ cat t
1 name1 a first
2 name2 b second
3 name3 c third


$ cat test.sh
# Script will load file lines into array(datafile) and then fields from each line into array(fields)
# and print each array(fields) element separating each element with the pipe symbol(|).
OLD_IFS=$IFS
IFS=$'\n'
datafile=( `cat "t"`)
IFS=$OLD_IFS
for l in "${datafile[@]}"
do
  fields=( $l );
  for f in $(seq 0 $((${#fields[@]} - 1)))
  do
    echo -n "${fields[$f]}"
    if (( f < $((${#fields[@]} - 1)) )); then
       echo -n "|"
    else
       echo ""
    fi
  done
done


$ test.sh
1|name1|a|first
2|name2|b|second
3|name3|c|third

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

scripting: multiple values from file passing to command

one of my colleagues has this question. he has a command, C_CMD which accepts 4 variables, $1 $2 $3 $4 he wants to load up a file with multiple rows, one row per set of variables and then iteratively execute the command based on the content of the file. example: at the command line you'd... (5 Replies)
Discussion started by: LisaS
5 Replies

2. UNIX for Dummies Questions & Answers

How to store the values in a file into an array

Hi, I do have a file and the contents are as follws: 10 20 30 40 50 Now I want to store those values into an array. How can be done this ?? (3 Replies)
Discussion started by: risshanth
3 Replies

3. Shell Programming and Scripting

[BASH - KSH] Passing array to a function

Passing a array to a function, a basic feature in modern language, seems to be only possible in KSH. Not in BASH. Depite all my efforts I couldn't come to a solution. See the following examples: It works perfectly in KSH: #!/usr/bin/ksh function print_array { # assign array by indirect... (3 Replies)
Discussion started by: ripat
3 Replies

4. Shell Programming and Scripting

Passing a file handler and an array from Perl to Shell Script

Hi there, I am trying to call a shell script from a Perl script. here is the code: @args = ("sh", "someshellprg.sh", "a file handler", "an array"); system(@args) == 0 or die "system @args failed: $?"; in the shell program, I examine if the arguments exits using: if then echo... (5 Replies)
Discussion started by: pinkgladiator
5 Replies

5. Shell Programming and Scripting

[bash] passing array to function

Hi, I'm trying to write a function that reassigns an array to another local array but the method used in reassigning the array reformats the contents of the array which is what I am trying to prevent. The method used to load a file into an array works as expected and the entire array is... (4 Replies)
Discussion started by: ASGR
4 Replies

6. Shell Programming and Scripting

Greping array values in Bash like Perl

Hi, Is there an easy way to simulate following Perl code in Bash. if ( grep {$my_value eq $_} @ARGV ){ print "Do Something\n"; } else { die "Invalid value"; } (0 Replies)
Discussion started by: paragkalra
0 Replies

7. Shell Programming and Scripting

Bash Passing An Array

Good grief so this should be easy. Passing an array as an argument to a function. Here is the sample code: #/bin/bash function foo { local p1=${1} local p2=(${2}) local p3=${3} echo p1 is $p1 echo p2 is $p2 echo p3 is $p3 } d1=data1 d2=data2 a=(bat bar baz) (2 Replies)
Discussion started by: brsett
2 Replies

8. Shell Programming and Scripting

Passing values to an XML file from shell script

:wall: Hi, I have an XML file with 5 tags. I need to pass values to the XML file from a shell script that will replace values in 2 of the tags. I cannot hardcode the tag values in XML and use replace command in script as the values are likely to change. Please help !!!!!!!!!!! (2 Replies)
Discussion started by: Monalisaa
2 Replies

9. Shell Programming and Scripting

Values rotation in array with bash

Hello :) I created a little script that allow to make a rotation of values in an array. The goal was to shift the values to the right and that the last value of the array became the first value in order to create a rotation. The purpose of the exercice was to do it without using a temporary... (3 Replies)
Discussion started by: Nexy
3 Replies

10. Homework & Coursework Questions

Values rotation in array with bash

Hello :) I created a little script that allow to make a rotation of values in an array. The goal was to shift the values to the right and that the last value of the array became the first value in order to create a rotation. The purpose of the exercice was to do it without using a temporary... (6 Replies)
Discussion started by: Nexy
6 Replies
XOSD(1xosd)															       XOSD(1xosd)

NAME
osd_cat - X on-screen file displayer SYNOPSIS
osd_cat [OPTION] [FILE]... osd_cat -b percentage|slider [OPTION] DESCRIPTION
Display FILE, or standard input, on X screen. -p, --pos=POS This option tells osd_cat where to display the text. POS can be top, middle, or bottom. The default is top. -o, --offset=OFFSET This option specifies the offset from the top or bottom of screen the text is displayed. The default is 0. -A, --align=ALIGN This option tells osd_cat where to display the text. ALIGN can be left, right or center. The default is left. -i, --indent=OFFSET This option specifies the INDENT from the left of screen the text is displayed. The default is 0. -f, --font=FONT This option specifies the FONT to be used for displaying the text. The default is fixed. -c, --color=COLOR This option specifies the COLOR to be used for displaying the text. The default is red. -d, --delay=TIME This option specifies the number of seconds the text is displayed. The default is 5 seconds. -l, --lines=LINES This option specifies the number of LINES to scroll the display over. The default is 5. -s, --shadow=OFFSET This option specifies the OFFSET of the text shadow. The default is 0, which means no text shadow is created. -a, --age[=SCROLL_AGE] This option affects screen redrawing. If SCROLL_AGE seconds pass before a new line is ready (for example, you're reading from a pipe), all lines are cleared at once instead of being scrolled off as new lines replace old lines. The default is 0. When no SCROLL_AGE is explicitly given, the current value from DELAY is used. -w, --wait This option also affects screen redrawing. When there is data ready to be put on screen, this option will cause osd_cat to wait until the display is clear. An alternative to scrolling. -b, --barmode=TYPE Lets you display a percentage or slider bar instead of just text. TYPE may be percentage or slider. In this mode no text is read from any file, but the following options can be used: -P, --percentage=PERCENTAGE This option specified the position of the percentage / slider bar. PERCENTAGE may be in the range from 0 to 100, the default is 50. -T, --text=TEXT This option specifies an optional TEXT which gets displayed above the percentage bar. The default is empty, so no additional text is displayed. -h, --help display help (which is often more up to date) and exit With no FILE, or when FILE is -, read standard input. AUTHOR
Martijn van de Streek <martijn@foodfight.org>, Some patching done by Malcolm Valentine <farkit@iprimus.com.au> and Tim Wright <tim@ignavus.net>. xosd was written by Andre Renaud <andre@ignavus.net> and is maintained by Tim Wright <tim@ignavus.net> SEE ALSO
More information on the X OSD Library and its author can be found on http://www.ignavus.net/software.html <http://www.ignavus.net/software.html> COPYRIGHT
It is distributed under the GNU General Public License. X OSD cat January 2001 XOSD(1xosd)
All times are GMT -4. The time now is 05:30 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy