我似乎没有正确理解这个awk语句:
awk '{ trailing=""; if ($0 ~ / /) trailing="#"; printf("# %s\n#elements/%s%s\n", $0, $0, trailing) > $0".txt" }' file
我收到此错误:
awk: syntax error at source line 1
context is
{ trailing=""; if ($0 ~ / /) trailing="#"; printf("# %s\n#elements/%s%s\n", $0, $0, trailing) > >>> $0".txt" <<<
awk: illegal statement at source line 1
这是怎么了?我尝试将{ }
放在if块中的单个语句周围,但这没有帮助。
答案 0 :(得分:3)
由于未发布源Input_file,因此无法对其进行测试,因此,您可以按以下方式尝试将$0".txt"
换成($0".txt")
并让我知道。
awk '{ trailing=""; if ($0 ~ / /) trailing="#"; printf("# %s\n#elements/%s%s\n", $0, $0, trailing) > ($0".txt") }' Input_file