我有以下文本文件 G.txt。我需要一个 perl 命令
perl -e ...
来提取所有以 结尾的否定条目Kč
,这样第一行将是
-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)