是否可以从awk文件执行另一个awk文件?使用awk文件我需要执行当前文件夹中的所有awk文件。 awk中可以做这样的操作吗?从awk文件执行另一个awk
回答
建议使用system
函数。
是的,你可以。您需要使用system()
函数。我假设你只想运行一次这些脚本。如果是的话,你可以将它们添加到您的包裹脚本的BEGIN
块:
BEGIN {
system("awk -f ./script1.awk")
system("awk -f ./script2.awk")
system("awk -f ./script3.awk")
}
如果您有大量需要被执行的脚本,你可以使用一个for
循环。请确保你的包裹脚本是不是在同一个目录中的所有其他awk
脚本您希望执行,否则将被列入awk
脚本的水珠......
BEGIN {
system("for i in *.awk; do awk -f \"$i\"; done")
}
1)是。 2)不要。
awk是一个处理文本的工具。 shell(或者你的操作系统上的任何通行证)是一个调用命令和操作文件和进程的工具。
猜猜你应该使用哪一个来执行文件系统中的所有awk命令?
如果您告诉我们您的更大问题是什么以及您的操作系统,我们可以指导您。
我需要做的只是调用一个awk文件并执行一些文件夹中的多个awk文件。 – suraj
但是你为什么要调用awk来执行awk脚本? Awk是一个文本处理工具,而不是操作系统。难道你不能仅仅从shell(或其他操作系统等价物)中直接执行awk脚本,而是直接调用这个顶级awk脚本,而不是让shell调用awk来调用shell来调用awk? –
系统的一个常见用途是使用它对awk脚本创建的输出文件进行操作。它可能无法正常工作,除非您在调用系统之前先关闭(outputfile)。
- 1. 使awk文件可执行
- 2. 桑达/ awk中:与另一个文件
- 3. AWK:从文件
- 4. 复杂的awk从一个文件替换到另一个
- 5. SED/AWK:在一个文件
- 6. AWK比较一个文件与另一个文件
- 7. 使用一个awk输出到另一个awk命令中
- 8. 从一行复制值到另一行的条件使用awk
- 9. awk的另一个文件,但对于行范围仅
- 10. AWK:查找一个文件中的句子,从另一个文件
- 11. awk:用另一个文件过滤文件
- 12. AWK/bash中如何将一个文件名在AWK
- 13. 使用awk从文件中提取行
- 14. 使用sed或awk替换另一个文件的文本文件的行
- 15. AWK在文件排序行
- 16. 如何运行.awk文件?
- 17. awk:从文件创建表
- 18. AWK不是从文件
- 19. 追加多个文件到一个(awk)
- 20. 用分隔符awk将文件分解为多个文件awk
- 21. 从Java运行AWK创建一个文件,并与BufferedReader中
- 22. awk在不同的文件上执行相同的命令一个接一个
- 23. awk格式化csv文件| unix | Solaris | AWK
- 24. 每个文件后awk换行
- 25. AWK:将行写入多个文件
- 26. 如何从两个文件中的awk
- 27. AWK +如何执行或awk命令行动
- 28. 我们可以在另一个awk命令中运行awk/sed命令吗?
- 29. 从awk块中调用另一个命令行应用程序
- 30. AWK比较两个文件
从一个shell调用'awk'进程,除了调用shell来运行命令之外什么意义?而不是'awk'BEGIN {system(“for我in * .awk; do awk -f \”$ i \“; done”)}''你也可以直接运行'for我in * .awk; awk - f“$ i”; done'或甚至像'ls * .awk | xargs -L1 awk -f' ... – mschilli
@ sg-lecram:是的,但这是一个awk问题。 OP可能需要执行其他处理,awk是该工作的正确工具。永远不要分析'ls'。 – Steve