2014-02-10 35 views
0

我有存储在一个名为TEMP_BLA_BLA这样的变量4项:bash编程 - 如何变量的内容转移到另一个bash的文件

12345,67890
44444,55555

注:

  • 这些存储在2行。
  • 它们也存储在磁盘上的文件中,可以通过变量DISK_BLA_BLA(提供名称)访问它。

现在我想将它们转移到另一个bash的文件:

sh calc_new_file.sh $1 $2 $3 $4 

我有什么做之前,我可以通过那些calc_new_file.sh如逗号和新线阻止我这样做所以?

蒂亚

+0

是变量TEMP_BLA_BLA就像'TEMP_BLA_BLA = 12345,647890 \ n44444,55555'一个bash变量? $ DISK_BLA_BLA是一个bash变量,其中包含文件路径包含'$ TEMP_BLA_BLA'?在你的例子中,'$ 1 $ 2 ...'是什么?在你问的标题中有2个bash文件,这是真的吗? –

回答

0

这种方法使用的sed:

sh calc_new_file $(echo $TEMP_BLA_BLA | sed 's/,/ /g') 

这使用sed用空格替换任何逗号。我们不需要用空格替换换行符,因为为了分词,bash将它们看作空格。

s/,/ /gsed替代命令。 s/,/ /将用空格替换第一个逗号。 s/,/ /g用空格替换每个逗号。

如果你有一个文件,而不是一个变量:

sh calc_new_file $(cat DISK_BLA_BLA | sed 's/,/ /g') 
0

词的拆分是由$IFS变量控制。为了使分成基于线单独的参数的变量饲料和逗号,你可以使用:

IFS=', 
' 
sh calc_new_file.sh $TEMP_BLA_BLA 
相关问题