Bash 脚本调用 AWK

发布于 2024-08-02 15:41:35 字数 378 浏览 5 评论 0原文

我很难让 bash 脚本中的 awk 命令正常工作。脚本如下:

#!/bin/bash
fpga-test -1 -a $1 > tmp.file && awk  \'\/Read\/ {print \$2}\' tmp.file

当我运行命令时,出现以下错误。

# my_script 14
awk: cmd. line:1: Unexpected token

中间文件(tmp.file)看起来像这样,我只想要第二个标记化字符串。

Read 32769 or -32767 (0x8001) @ 0x0e

建议?

I'm having difficulty getting the awk command inside a bash script to work. The script follows:

#!/bin/bash
fpga-test -1 -a $1 > tmp.file && awk  \'\/Read\/ {print \$2}\' tmp.file

When I run the command I get the following error.

# my_script 14
awk: cmd. line:1: Unexpected token

The intermediate file (tmp.file) looks like this, and I want only the second tokenized string.

Read 32769 or -32767 (0x8001) @ 0x0e

Suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

嘿嘿嘿 2024-08-09 15:41:35

你的逃跑有问题。此外,在这种情况下不需要临时文件。

#!/bin/bash
fpga-test -1 -a $1 | awk  '/Read/ {print $2}'

There is a problem with your escaping. Also, there is no need for a temporary file in this case.

#!/bin/bash
fpga-test -1 -a $1 | awk  '/Read/ {print $2}'
少跟Wǒ拽 2024-08-09 15:41:35
Turing:~ vince$ cat ex.txt 
Read 32769 or -32767 (0x8001) @ 0x0e
Read 32769 or -32767 (0x8001) @ 0x0e
Read 32769 or -32767 (0x8001) @ 0x0e

Turing:~ vince$ awk '/Read/ {print $2}' ex.txt 
32769
32769
32769

这就是你想要的吗?

Turing:~ vince$ cat ex.txt 
Read 32769 or -32767 (0x8001) @ 0x0e
Read 32769 or -32767 (0x8001) @ 0x0e
Read 32769 or -32767 (0x8001) @ 0x0e

Turing:~ vince$ awk '/Read/ {print $2}' ex.txt 
32769
32769
32769

Is that what you want?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文