是否可以從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