簡體   English   中英

在`perl -n`單行中重置下一個文件的狀態變量

[英]reset state variables on next file in `perl -n` one-liner

我正在使用find ... | xargs perl -ne處理多個文件 find ... | xargs perl -ne並且當我繼續下一個文件時,我需要重置一些變量,例如gawk 'BEGINFILE {}'所做的。

作為一種解決方法,我檢查當前文件名是否已更改。 有更干凈的方法嗎?

if ($oldARGV ne $ARGV) { $oldARGV = $ARGV; $var1=""; ... } ... 

使用eof不帶參數(或使用eof ARGV ):

$ perl -nE 'say "Done with file $ARGV" if eof' *.txt
Done with file a.txt
Done with file b.txt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM