2017-07-31 72 views
0

我是awk的新手。我有一个文件夹中的.sql文件列表,我需要在它们上面运行一个AWK脚本。在Windows上的文件夹中的多个文件上运行awk脚本

我想这对命令行(视窗):

for i in *.sql; do awk -f script.awk $i > $i.out done 

但它无法正常工作。它说:

i was unexpected at this time. 
+1

请更新您的Q和给出一个确切的错误信息或其他证据,“这是行不通的。”如果文件名中有空格(值为'$ i'),那么您必须使用dbl-quote,即''$ i“',但dbl-quoting变量几乎总是一个好主意。请阅读[最小,完整,可验证示例](http://stackoverflow.com/help/mcve)并改进您的问题。祝您好运。 – shellter

+0

谢谢。我已经做了必要的修改。 尽管如此,文件名中没有空格,但我尝试了双引号但没有帮助。 – codebee

+1

用你正在使用的任何操作系统标记你的问题,因为这与awk没有任何关系,它是关于如何在你的操作系统上的多个文件上对任何命令名X执行命令X. –

回答

0

错过了“;”:

for i in *.sql; do awk -f script.awk $i > $i.out ; done 
+0

这是说 '我在这个时候是意外的“。 – codebee

相关问题