需要一个非常简单的 Perl 脚本

需要一个非常简单的 Perl 脚本

我有以下文本文件 G.txt。我需要一个 perl 命令 perl -e ... 来提取所有以 结尾的否定条目,这样第一行将是 -107,60 ,最后一行将是-63,00

我尝试过这个: perl -e "~=/Kč/" -f G.txt

12 nezaúčtovaných transakcí
Sbalit
5 Kvě Květen
    
    
ALBERT VAM DEKUJE
Platba kartou
    
-107,60 Kč
5 Kvě Květen
    
    
ALBERT VAM DEKUJE
Platba kartou
    
-91,50 Kč
5 Kvě Květen
    
    
GLOBUS BRNO
Platba kartou
    
-78,00 Kč
4 Kvě Květen
    
    
LIDL DEKUJE ZA NAKUP
Platba kartou
    
-29,90 Kč
4 Kvě Květen
    
    
LIDL DEKUJE ZA NAKUP
Platba kartou
    
-37,80 Kč
4 Kvě Květen
    
    
FN BRNO, USTAVNI LEKAR
Platba kartou
    
-63,00 Kč

答案1

我会写:

perl -lne 'print $1 if /^(-[\d,]+) Kč/' G.txt

输出

-107,60
-91,50
-78,00
-29,90
-37,80
-63,00

笔记:

  • -n循环遍历文件行的选项
  • -l自动处理行尾的选项
  • 需要实际打印匹配的文本
  • -f不需要选项(我认为,除非您实际上想禁用在启动时执行 $Config{sitelib}/sitecustomize.pl)

相关内容