-1

I have a file file.dat as follow:

1.1,2.1 1.4
3.1,2.1 2.4
2.4,4.5 11.5
..

And I want to select each time the whole line (string) and replace it in another file. So far I tried the following

#!/bin/csh

set FILENAME = 'file.dat' # file in which the strings are
set str = "229.8,230.9 230.36" # initialize the first string
set n = 1
while ( $n <= 3 ) # number of lines in the FILENAME
   echo Testing the first string $str
   set rep = $(head -n $n "$FILENAME")
   @ n++ # increment the index
end

When I tried to launch the script csh launch.sh I obtained the follow error message

Testing the first string 229.8,230.9 230.36
Illegal variable name. # connect with the rep definition(?)

The file in which I want to change the string str is as follow (this is btw a secondary problem which I could figure out by myself once I understand what's wrong in the first lines):

# Name    Type Par    
Mi        FI   154.2355189465 
So        UN   229.8,230.9 230.36 # line to be changed
Za        FI   0.8000020209

May somebody help me, please?

123
  • 10,778
  • 2
  • 22
  • 45

1 Answers1

2

$(...) is Bash syntax for command substitution in Bash.

In C-shell you have to use backticks instead (yuck).

janos
  • 120,954
  • 29
  • 226
  • 236