Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用tcsh脚本读取csv文件并获取环境变量的当前值_Csv_Tcsh - Fatal编程技术网

如何使用tcsh脚本读取csv文件并获取环境变量的当前值

如何使用tcsh脚本读取csv文件并获取环境变量的当前值,csv,tcsh,Csv,Tcsh,我有一个csv文件(sample.csv),它看起来像: variable,value var1,/value/of/var1/which/is/path 我需要使用tcsh脚本解析/读取此csv。 我试图将环境变量var1的当前值与此csv文件中给出的值进行比较 比如: if( current value of $var1 == /value/of/var1/which/is/path) then echo "Value matches" else echo "value does

我有一个csv文件(sample.csv),它看起来像:

variable,value
var1,/value/of/var1/which/is/path
我需要使用tcsh脚本解析/读取此csv。 我试图将环境变量var1的当前值与此csv文件中给出的值进行比较

比如:

if( current value of $var1 == /value/of/var1/which/is/path) then
  echo "Value matches"
else
  echo "value does not match with current value"

您可以像这样在文件上循环:

foreach line ( `cat a.csv` )
    set field1 = `echo "$line" | cut -d, -f1`
    set field2 = `echo "$line" | cut -d, -f2`

    if ( "$field1" == "var1" ) then
        echo "Match -> $field1 $field2"
    else
        echo "No match -> $field1 $field2"
    endif
end
foreach
循环将逐行循环文件。在循环内部,使用
cut
命令以
分隔符分隔行。您可以使用
if
语句检查这些变量


注意:如果这是一个新脚本,您可能不想使用tcsh。tcsh是一个古老的外壳,有许多危险和丑陋的角落。您可能想使用BourneShell(
/bin/sh
bash
),或者更好地使用“真正的”编程语言,如Python或Ruby。解析CSV文件并不总是容易的(引用样式和类似的不同),Python和Ruby都有优秀的CSV解析模块,可以为您处理所有这些。

太棒了。这应该会有所帮助。谢谢。