微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

bash中的lambda函数

有没有办法在bash中实现/使用lambda函数?我在想这样的事情:
$ someCommand | xargs -L1 (lambda function)
我不知道有这样做的方法,但是您可以通过以下方式完成您尝试使用的操作:
somecommand | while read -r; do echo "Something with $REPLY"; done

这也将更快,因为您不会为每行文本创建一个新进程。

[编辑2009-07-09]
我做了两个修改

> Incorporated litb的建议使用-r禁用反斜杠处理 – 这意味着输入中的反斜杠将不会改变。
>而不是提供一个变量名(如X)作为参数读取,我们让读取分配给它的认变量REPLY。这具有保护前导和尾随空间的愉快的副作用,否则剥离(即使内部空间被保留)。

从我的观察结果来看,这些更改保留了每个输入行上除字母NUL(ASCII 0)字符之外的所有内容

[编辑26/7/2016]

根据评论者Evi1M4chine,在运行读取X之前将$ IFS设置为空字符串(例如,使用命令IFS =”读取X),在将结果存储到$ X中时也应该保留开头和结尾的空格,被强制使用$ REPLY。

原文地址:https://www.jb51.cc/bash/387315.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐