在 shell 脚本中使用 gawk
嗨,我想在 for 循环中使用 gawk。像这样的事情:
for i in gawk {print $1} | tr '\n' ' '
do something using $i
这当然不起作用。有想法吗?
Hi I want to use gawk in a for loop. Something like this:
for i in gawk {print $1} | tr '\n' ' '
do something using $i
this isn't working of course. Ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您缺少反引号或
$(...)
来评估 awk 命令。尽管不需要最后一个 tr 命令,因为
$(...)
命令隐式的输出将在此上下文中将换行符转换为空格。You are missing backquotes or
$(...)
to evaluate the awk command.Although the last tr command is not needed since the output from a
$(...)
command implicit will have newlines converted to space in this context.在上面提供的答案中,gawk 是子例程,bash 是驱动程序。
另一种方法是使用内置的系统命令使gawk成为驱动程序。
例如:
如果(例如)您发现 Bash 的字符串处理工具有点太神秘了,那么这会更方便。
In the answers offered above, gawk is the sub-routine and bash is the driver.
Another approach is to make gawk the driver using its built in system command.
For example:
which is handier if (e.g.) you find Bash's string handling tools a little too arcane.
带有 awk / gawk 示例的 shell 代码
和
shell code with awk / gawk example
and