gpt4 book ai didi

perl - 如何使用 Perl 替换 grep 来保留文件名

转载 作者:行者123 更新时间:2023-12-01 01:16:14 25 4
gpt4 key购买 nike

考虑以下使用 grep 的命令行输出:

[gjempty@gjempty]$ find . -name "*.php" | xargs grep __construct | tail
./ilserverd/src/php/ImageLoopIntegrationService.php: public function __construct($input, $output=null) {
./ilserverd/src/php/ImageLoopIntegrationService.php: public function __construct($vals=null) {
./ilserverd/src/php/ImageLoopIntegrationService.php: public function __construct($vals=null) {
./ilserverd/src/php/ImageLoopIntegrationService.php: public function __construct($vals=null) {
./ilserverd/src/php/ImageLoopIntegrationService.php: public function __construct($vals=null) {
./ilserverd/src/php/ImageLoopIntegrationService.php: public function __construct($handler) {
./ilserverd/src/php/il_server_types.php: public function __construct($vals=null) {
./ilserverd/src/php/il_server_types.php: public function __construct($vals=null) {
./utilities/studio/legacy/full_bleed_update_photobook_themes.php: public function __construct() {
./utilities/studio/legacy/full_bleed_update_photobook_themes.php: parent::__construct();

这是我尝试提取构造函数参数的第一步,因为它需要很多步骤,所以我尝试使用 Perl 作为对 grep 的改进。但首先,我想保留文件名,以便我可以在最终“报告”输出中引用这些文件名。

但是当我切换到下面的 Perl 单行代码时,文件名不再是输出的一部分。我怎样才能保留它们并仍然使用 Perl 作为 grep 的命令行替代品?

[gjempty@gjempty]$ find . -name "*.php" | xargs perl -wnl -e '/__construct/ and print' | tail
public function __construct($input, $output=null) {
public function __construct($vals=null) {
public function __construct($vals=null) {
public function __construct($vals=null) {
public function __construct($vals=null) {
public function __construct($handler) {
public function __construct($vals=null) {
public function __construct($vals=null) {
public function __construct() {
parent::__construct();

最佳答案

您可以尝试使用 $ARGV 作为:

perl -wnl -e '/__construct/ and print "$ARGV: $_"'

关于perl - 如何使用 Perl 替换 grep 来保留文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4248988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com