2014-02-10 63 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 
相關問題