2014-01-05 37 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左右。