Tcsh command for assigning output of awk to variable


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Tcsh command for assigning output of awk to variable
# 1  
Old 05-16-2014
Tcsh command for assigning output of awk to variable

Hi I have a text file with 2 values and I am trying to assign each value to a variable and then write those to text files.

So if the textfile is data.txt with 2 values x and y

I want to assign mean=x, and stdev=y and then write these out in text files alongwith the id ($id has already been set earlier on in a larger script).

say
Code:
 echo $mean $id > mean.$id.text
     echo $stdev $id > stdev.$id.text

later on I want to go through and concatenate all the mean values for all id's into 1 file and similarly create another one for stdev.
so far I tried this (after looking through various threads)---
Code:
        mean=$( awk '{ print $1}' data.txt)
	echo $mean $id  > mean.txt

doesn't work, says illegal variable name.



thanks for any help.

Moderator's Comments:
Mod Comment Please use code tags for all code and data

Last edited by vbe; 05-16-2014 at 05:15 PM.. Reason: code tags
# 2  
Old 05-16-2014
$( ) is bourne shell syntax. I think tcsh at least has backticks: ` `
# 3  
Old 05-16-2014
I tried the backticks--

mean=`awk '{ print $1}' data.txt`
echo $mean $id > mean.txt

but now it says
mean=0.067762: Command not found.
mean: Undefined variable.

also tried
set mean=`awk '{ print $1}' $roi.$sid.$task.1D`
echo $mean > mean.$sid.$task.1D

but get the same error.

thanks.
# 4  
Old 05-16-2014
I think you need to put spaces there for tcsh.

Code:
var = something

# 5  
Old 05-16-2014
okay thanks. Now the first line works

set mean = `awk '{ print $1}' $roi.$sid.$task.1D`

but this one does not-
echo $mean $id > mean.$id.txt
it just prints the id in the output file.
# 6  
Old 05-16-2014
May I ask why you're stuck using tcsh?
# 7  
Old 05-16-2014
Because I already have a tcsh file that does what I need and outputs a text file with the mean and stdev numbers. Now all I am trying to do is add a line or two at the very end so when I concatenate all subjects' files, I can keep the values and the subject id in good order.

thanks.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Expect - assigning UNIX command output to a variable

Hi, I'm writing a script that connects through ssh (using "expect") and then is supposed to find whether a process on that remote machine is running or not. Here's my code (user, host and password are obviously replaced with real values in actual script): #!/usr/bin/expect set timeout 1... (3 Replies)
Discussion started by: oseri
3 Replies

2. Shell Programming and Scripting

Assigning output from awk to variable

I have a script whose contents are as below result= awk 's=100 END {print s }' echo "The result is" $result The desired output is The result is 100 My script is running without exiting and i am also not getting the desired output. Please help (5 Replies)
Discussion started by: bk_12345
5 Replies

3. UNIX for Dummies Questions & Answers

Assigning the output of a command to a variable, where there may be >1 line returned?

Hello I am using unix CLI commands for the Synergy CM software. The command basically searches for a folder ID and returns the names of the projects the folder sits in. The result is assigned to a variable: FIND_USE=`ccm folder -fu -u -f "%name"-"%version" ${FOLDER_ID}` When the command... (6 Replies)
Discussion started by: Glyn_Mo
6 Replies

4. Shell Programming and Scripting

Problem with assigning output of grep + awk to a variable

Hi All, I am getting the output for the following command when i run it on the unix console. --------------------------- grep `whoami` /etc/passwd | awk '{print ($1);}' | cut -d ":" -f3 ---------------------------- But i made it into a script and tried to print the variable, its... (5 Replies)
Discussion started by: meheretoknow
5 Replies

5. UNIX for Dummies Questions & Answers

assigning (numeric) command output to var tcsh

Hello, I'm trying to assign a numeric value that is returned from one of my programs to a variable in tcsh. I want to do: @ r10 = './my_prog file 35' where ./my_prog file 35 returns a decimal value, but this doesn't work. How do I achieve the desired result? Janet (4 Replies)
Discussion started by: psran
4 Replies

6. Shell Programming and Scripting

Assigning output of a command to variable

When I run time -p <command>, it outputs: real X.XX user X.XX sys X.XXwhere X.XX is seconds. How I can take just that first number output, the seconds of real time, and assign that to a variable? (9 Replies)
Discussion started by: jeriryan87
9 Replies

7. Shell Programming and Scripting

Assigning output to a variable

I am new to unix shell scripting. I was trying to convert each lines in a file to upper case. I know how to convert the whole file. But here i have to do line by line. I am getting it in the below mentioned script #!/bin/bash #converting lower to upper in a file #tr "" "" <file1... (3 Replies)
Discussion started by: jpmena
3 Replies

8. Shell Programming and Scripting

Assigning output of command to a variable in shell

hi, I want to assign find command result into some temporary variable: jarPath= find /opt/lotus/notes/ -name $jarFile cho "the jar path $jarPath" where jarPath is temporary variable. Can anybody help on this. Thanks in advance ----Sankar (6 Replies)
Discussion started by: sankar reddy
6 Replies

9. Shell Programming and Scripting

assigning command output to a shell variable

I have the sql file cde.sql with the below contents: abcdefghij abcwhendefothers sdfghj when no one else when others wwhen%others exception when others Now I want to search for the strings containing when others together and ceck whether that does not occur more than once in the... (2 Replies)
Discussion started by: kprattip
2 Replies

10. Shell Programming and Scripting

Assigning output of command to a variable

Hi, I'm trying to assign the output of a command to a variable and then concat it with another string, however, it keeps overwriting the original string instead of adding on to the end of the string. Contents of test.txt --> This is a test var1="`head -n 1 test.txt`" echo $var1 (This is a... (5 Replies)
Discussion started by: oma04
5 Replies
Login or Register to Ask a Question