繁体   English   中英

用AWK命令包装TCL / TK文件

[英]wrapping TCL/TK file with AWK command inside

我创建了一个简单的TCL / TK文件,其中包含一个执行awk命令的按钮:

#!/usr/bin/env wish
package require Tk
pack [button .b -text "process" -command {exec awk {$1=="aa" {print $0}} ./input.txt > ./temp.txt}]

使用freewrap我在Windows(.exe)上使这个文件可执行,当我按下按钮我有这样一个错误:

错误:无法执行“awk”:没有这样的文件或目录

有没有办法将awk包含/添加到.exe输出文件中,或者将awk libraires作为外部文件或其他方式附加到.exe,以便在不重写tk代码的awk命令的情况下识别awk命令?

问候

awk {$1=="aa" {print $0}} ./input.txt > ./temp.txt

在Tcl:

set in [open ./input.txt r]
set out [open ./temp.txt w]
while {[gets $in line] != -1} {
    set firstword [lindex [split [string trim $line]] 0]
    # or: regexp {\S+} $line firstword
    if {$firstword eq "aa"} {puts $out $line}
}
close $in
close $out

你在这里展示的awk代码非常简单,可以很容易地在tcl中重写。

但是如果没有这个,你想知道一个解决方案,所以你需要在你的计算机上安装一个awk exe。 人们可以在这里找到一个可执行文件: http//gnuwin32.sourceforge.net/packages/gawk.htm

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM