{print}&的区别{打印;}

时间:2015-08-09 06:51:32

标签: awk

我正在浏览awk示例并遇到类似的事情:

case class Node(data: Int, children: ListBuffer[Node], parents: ListBuffer[Node])

val node1 = Node(thisGuy, ListBuffer[Node](), ListBuffer[Node]())
val node2 = Node(thatGuy, ListBuffer[Node](), ListBuffer[Node](node1))
node1.children.append(node2)

var nodes: mutable.Set[Node] = mutable.Set(node1)
// This is were I am getting stackoverflow exception
nodes.add(node2)

我尝试使用awk '{print;}' employee.txt 执行相同的操作,它提供与前一个相同的输出。

那么有人能说出在awk '{print}' employee.txt之后使用;有什么意义吗?

1 个答案:

答案 0 :(得分:2)

如果要在{}块中放置多个语句,则必须用分号分隔。如果你有单个stmt,那么你不需要使用分号。就像anubhava所说的那样,如果存在多个stmts,你不需要将;放在最后一个stmt上。

示例:

$ echo '1 2 3' | awk '{print $1;print $0}'
1
1 2 3

请注意,每个print stmt都会在不同的行中打印结果。