【发布时间】:2019-01-12 07:45:29
【问题描述】:
在 PHP 中:
$output = preg_replace("/[^a-z]/","_",strtolower($input));
如何在 BASH 脚本中做同样的事情?
【问题讨论】:
-
我认为你可以在控制台模式下运行 PHP,它从 STDIN 获取输入并打印到 STDOUT
-
或者,使用 Perl:
perl -wple '$_ = lc $_; $_ =~ s/[^a-z]/_/g' -
这不起作用:$output = $input >> php -r preg_replace("/[^a-z]/","_",strtolower(fgets(STDIN)));跨度>
-
您希望您的 sn-p 做什么?它根本不是有效的 shell 语法。也许您的问题是如何将 STDIN 上的输入从 shell 发送到程序?
-
问题似乎是:实现相同效果的等效命令是什么。我发现这很充分,我很惊讶所有的混乱来自哪里。