> $FILE 可以给$吗?在 -6ren">
gpt4 book ai didi

linux - perl one liner + 如何在 perl line liner 上给出标准输出

转载 作者:太空宇宙 更新时间:2023-11-04 11:07:18 25 4
gpt4 key购买 nike

我有下面的perl line liner line

       echo $line | perl -ne 'while(.....){print "$_";}' >> $FILE

可以给$吗?在 perl 行的输出上

所以

 $? = 0 in case $_ print some value
$? = 1 in case $_ is empty ( no value )

例子:

  echo $line | perl -ne 'while(.....){print "$_";}' >> $FILE


if [[ $? -eq 0 ]]
then
echo " new line in file "
else
echo " no new line in file"
fi

完整语法

  /usr/local/bin/perl -ne '$exit = 1;while($_=~m/(?:^|\G:\K)(?:(?!.*old)[^:]+|[^:]*?(?:[a-z]old|\dold[a-z\d])[^:]*)/ig){print "$_";}' 

最佳答案

echo "$line" | perl -ne 'BEGIN {$exit = 1;}
if(/(?:^|\G:\K)(?:(?!.*old)[^:]+|[^:]*?(?:[a-z]old|\dold[a-z\d])[^:]*)/i) {$exit=0; print "$_"; }
END {exit($exit);}' >> "$FILE"

传递给 exit() 的值将在$?在外壳中。

由于您使用的是 -n要自动创建输入循环,您需要将代码放入初始化并返回 $exitBEGINEND block 。你也不应该把 while在您的代码中,因为这是自动循环的一部分。

关于linux - perl one liner + 如何在 perl line liner 上给出标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24723985/

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