Nat*_*han 10 windows awk grep gnuwin32
我是grep和awk的新手 - 使用Windows 7(我从GnuWin下载了grep和awk for windows).
我在运行此脚本时遇到问题:
grep -Fwf dictionary.txt frequency.txt | awk '{print $2 "," $1}'
Run Code Online (Sandbox Code Playgroud)
我收到错误:
awk:'{print
awk:^表达式中的无效字符'''
我相信它可能与必须在Windows中使用双引号有关,但我尝试了所有我能想到的组合,但它仍然不起作用.
有人可以帮忙吗?谢谢
Jus*_*ner 23
在Windows上,您需要使用双引号来引用您的awk命令.所以
grep -Fwf dictionary.txt frequency.txt | awk '{print $2 "," $1}'
Run Code Online (Sandbox Code Playgroud)
需要改为
grep -Fwf dictionary.txt frequency.txt | awk "{print $2 "," $1}"
Run Code Online (Sandbox Code Playgroud)
但请记住,你不能在双引号内使用双引号,你需要转义它们.在Windows上,您不能简单地使用\它来逃避它.您需要以下语法:
grep -Fwf dictionary.txt frequency.txt | awk "{print $2 \"",\"" $1}"
Run Code Online (Sandbox Code Playgroud)
对,这是\""代表"双引号内.
转义命令行项始终是Windows的痛苦.作为最后的手段你可以使用gawk -f!
所以:你的文件script.awk包含:
print $2,$1
Run Code Online (Sandbox Code Playgroud)
你也是 grep -Fwf dictionary.txt frequency.txt | awk -f script.awk
| 归档时间: |
|
| 查看次数: |
23995 次 |
| 最近记录: |