2014-01-05 36 views
0

我有一個在bash中創建的變量,並且希望在awk語句中使用它來通過將其與文件名的字符串連接來創建文件。如何將bash變量傳入awk

awk -v value="${index}" 'BEGIN{}{print $9 >> "example_value.txt";}END{}' 

我該怎麼做?

+0

我想要的是改變價值與索引創建多個文件,如example_1.txt,example_2.txt等 – yildizabdullah

+1

這個問題很常見..奇怪的是,這些類型的東西不能用Google搜索:)必須有至少有100個類似的問題.. –

回答

4

您必須在雙引號之外使用它。 會連接它沒有任何其它字符:

awk -v value="${index}" 'BEGIN{}{print $9 >> "example_" value ".txt";}END{}' 
+0

它的工作原理!謝謝。 – yildizabdullah

2

你可以使用-v選項,如以前發佈的例子。

或者您也可以使用類似:

awk 'BEGIN{}{print $9 >> "example_'"$index"'.txt";}END{}' 

而且,你不必在這種情況下使用{}變量index左右。