select 来自文件 csh 的字符串

select a string from file csh

我有一个文件 file.dat 如下:

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

而且我想每次 select 整行(字符串)并将其替换到另一个文件中。到目前为止,我尝试了以下

#!/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

当我尝试启动脚本时 csh launch.sh 我收到了以下错误消息

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

我想在其中更改字符串 str 的文件如下(顺便说一下,这是一个次要问题,一旦我理解了第一行中的错误,我就可以自己解决):

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

有人可以帮帮我吗?

$(...) 是 Bash 语法,用于 命令替换 在 Bash.

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