Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Concatenate multiple commands Post 303045836 by Chubler_XL on Tuesday 14th of April 2020 08:10:16 PM
Old 04-14-2020
In general you would use VAR=$( command ) to capture the output of each command and then echo your result at the end like this:

Code:
#!/bin/bash

if [ $# -eq 1 ]
then 
    filename="/home/marco/$1"
    base=`basename "$filename"`
    noext=${base%.*}

    SZ=$(wc -l $1 | awk '{print $1}' )
    AVG=$(awk '{sum+=$1} END {print sum/NR}' $1)
    STD=$(
       awk 'NR>2 {sum+=$1; array[NR]=$1}
           END {for(x=1;x<=NR;x++){sumsq+=((array[x]-(sum/NR))^2);}print sqrt(sumsq/NR)}' $1)

    echo " $noext $SZ $SUM $AVG $STD"
fi

However in this instance one pass thru the file with awk will allow you to capture all the values needed like this:

Code:
if [ $# -eq 1 ]
then 
    awk '
        {SUM+=$1; array[NR]=$1}
        END {
           for(x=1;x<=NR;x++) {
              sumsq+=((array[x]-(SUM/NR))^2)
           }
           noext=FILENAME
           gsub(/\..*$/, "",noext)
           print noext,NR,SUM,SUM/NR,sqrt(sumsq/NR)}' $1
fi

This User Gave Thanks to Chubler_XL For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Find multiple patterns on multiple lines and concatenate output

I'm trying to parse COBOL code to combine variables into one string. I have two variable names that get literals moved into them and I'd like to use sed, awk, or similar to find these lines and combine the variables into the final component. These variable names are always VAR1 and VAR2. For... (8 Replies)
Discussion started by: wilg0005
8 Replies

2. Shell Programming and Scripting

Concatenate multiple lines based.

Hello, I have been searching the forum for concatenation based on condition. I have been close enough but not got th exact one. infile: -----DB_Name ABC (X, Y,Z). DB_Name DEF (T). DB_Name GHI (U ,V,W). Desired Output file should be: ---------------------------DB_Name ABC... (8 Replies)
Discussion started by: indrajit_u
8 Replies

3. Shell Programming and Scripting

want to concatenate multiple files based on the rest of ls -lrt

uadm@4132> ls -lrt -rw------- 1 uadm uadm 3811819 Jun 6 04:08 data_log-2010.05.30-10:04:08.txt -rw------- 1 uadm uadm 716246 Jun 13 01:38 data_log-2010.06.06-10:04:08.txt -rw------- 1 uadm uadm 996 Jun 13 04:00 data_log-2010.06.06-10:04:22.txt -rw------- 1 uadm uadm 7471 Jun 20 02:03... (5 Replies)
Discussion started by: mail2sant
5 Replies

4. Shell Programming and Scripting

Concatenate columns from multiple files

Hi all, I want the 2nd column of every file in the directory in a single file with the file name as column header. $cat file1.txt a b c d e f $cat file2.txt f g h g h j $cat file3.txt a b d f g h (2 Replies)
Discussion started by: newbie83
2 Replies

5. Shell Programming and Scripting

concatenate multiple file

Hi Need some help to concatenate files I have multiple spool files nearlly 15 of them which I need to concatenate like as shown in the below example for ex. file1.txt aaaa|bbbbb|cccc| dddd|eeee|ffff| kkkkk|uuuuu|gggg| file2.txt xxxx|yyyy|zzzz| 1111||kkkk|lllll... (2 Replies)
Discussion started by: rashmisb
2 Replies

6. Shell Programming and Scripting

Grouping multiple columns and concatenate

I have a CSV file that goes like this: Name,Group,Email Max,Group1,max@.com Dan,Group2,dan@.com Max,Group3,max@.com Max,Group4,max@.com Dan,Group5,dan@.com Jim,Group6,jim@.comBasically my desired output should be: Name,Group,Email Max,Group1|Group3|Group4,max@.com... (6 Replies)
Discussion started by: jeffreybsu
6 Replies

7. Shell Programming and Scripting

Concatenate select lines from multiple files

I have about 6000 files of the following format (three simplified examples shown; actual files have variable numbers of columns, but the same number of lines). I would like to concatenate the ID (*Loc*) and data lines, but not the others, as shown below. The result would be one large file (or... (3 Replies)
Discussion started by: pathunkathunk
3 Replies

8. UNIX for Advanced & Expert Users

Pass Multiple Commands and Open Multiple Xterms via PSS

Hello, I'm attempting to open multiple xterms and run a command as an SAP user via sudo using PSSH. So far, I'm able to run PSSH to a file of servers with no check for keys, open every xterm in to the servers in the file list, and SUDO to the SAP(ADM) user, but it won't do anything else... (11 Replies)
Discussion started by: icemanj
11 Replies

9. Shell Programming and Scripting

How To Concatenate Two Commands in script using heredoc?

Hello, I am trying to place two commands in heredoc below is the snippet if ;then actionOnTux="$actVerb" else actionOnTux="$actVerb" fi echo "Performing ACTION: $action on $tux@$srv .....\n" if ; then ... (5 Replies)
Discussion started by: kataria.anand
5 Replies

10. UNIX for Beginners Questions & Answers

Concatenate column values when header is Matching from multiple files

there can be n number of columns but the number of columns and header name will remain same in all 3 files. Files are tab Delimited. a.txt Name 9/1 9/2 X 1 7 y 2 8 z 3 9 a 4 10 b 5 11 c 6 12 b.xt Name 9/1 9/2 X 13 19 y 14 20 z 15 21 a 16 22 b 17 23 c 18 24 c.txt Name 9/1 9/2... (14 Replies)
Discussion started by: Nina2910
14 Replies
GPIV_T-AVG(1)						      General Commands Manual						     GPIV_T-AVG(1)

NAME
gpiv_t-avg - Calculates time-averaged mean and variances of PIV data. SYNOPSIS
gpiv_t-avg [-dn | --dir_name dir basename] [-df | --first_dir N] [-dl | --last_dir N] [-fb | --file_basename file basename] [-ff | --first_file N] [-fl | --last_file N] [-fx | --file_prefix] [-h | --help] [-n | --none] [-p | --print] [-relrms] [-uv | --print] [-v | --version] DESCRIPTION
gpiv_t-avg calculates mean and variances from a series of piv data resulting into time-averaged values. If no parameters are defined at the command line, standard parameters will be used that are defined in the script. This program does not use the parameter resources from libg- piv. Options -dn | --dir_name dir base-name The dir base-name represents the directory name without its last number. It is supposed that the last number in the directory name is a counter. -df | --first_dir Defines the counter N of the first directory number at which the analyses starts. -dl | --last_dir Last directory number N at which the analyses ends. -fb | --file_base_name file base-name The filename has to be given without its .piv extension. The file base-name represents the file name without its last number, before the extension. If not -fx key is used, it is supposed that the last number in the file name is a counter. The output will be written to dir base-name/file base-name.ta_mean.piv and dirname/filename.ta_sdev.piv at which mean values and variances are written respec- tively or to dirname/filename.ta_U.piv and to dirname/filename.ta_V.piv if -uv is used. -ff | --first_file Defines the counter Nof first file number at which the analyses starts. -fl | --last_file Last file number N at which the analyses ends. -fx | --file_prefix Prefix numbering to file base name. -h | --help On-line help. -n | --none Suppresses real execution. -p | --print Prints parameters, command line options and input and output filenames to stdout. -relrms Prints relative rms, related to the absolute mean value. -uv Writes U and v displacements/velocities to separate outputs. -v | --version Prints version information to standard output, then exits successfully. SEE ALSO gpivtools AUTHOR
Gerber Van der Graaf 19 Januari 2005 GPIV_T-AVG(1)
All times are GMT -4. The time now is 03:24 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy