gpt4 book ai didi

单引号之间的 Perl 捕获

转载 作者:行者123 更新时间:2023-12-02 06:13:49 32 4
gpt4 key购买 nike

我正在尝试打印出用单引号括起来的文本。

/bin/bash -lc '/home/CASPER_REPORTS/scripts/CASPER_gen_report.sh CASPER_1'
/bin/bash -lc '/home/CASPER_REPORTS/scripts/CASPER_gen_report.sh CASPER_1A'
/bin/bash -lc '/home/CASPER_REPORTS/scripts/CASPER_gen_report.sh CASPER_2'
/bin/bash -lc '/home/CASPER_REPORTS/scripts/CASPER_gen_report.sh CASPER_3'
/bin/bash -lc '/home/CASPER_REPORTS/scripts/CASPER_gen_report.sh CASPER_3A'

我猜 bool 值意味着 perl 看到了字符串。

$ cat /tmp/casper_reports | perl -nle 'print /'.*'/'
1
1
1
1
1

但是,当我尝试用括号捕获它时,它会抛出一个错误

$ cat /tmp/boobomb | perl -nle 'print /'(.*)'/'
-bash: syntax error near unexpected token `('

最佳答案

在 Bash 和 Zsh shell 中,您可以使用 $'' 允许转义单引号。

echo $'I wouldn\'t'

这也使 $1 不被 bash 解释并可用于 perl。

perl -nle $'print $1 if /\'(.*)\'/' < /tmp/boobomb

另见 https://unix.stackexchange.com/questions/30903/how-to-escape-quotes-in-shell

关于单引号之间的 Perl 捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48178467/

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