1
我要尋找一個Perl oneliner(將其插入bash腳本),我需要在下一個界面:的Perl oneliner其中吸食@ARGV
perl -0777 -nlE 'commands' file1 file2 .... fileN
我創建了下:
perl -0777 -lnE 'BEGIN{$str=quotemeta(do{local(@ARGV, $/)="file1"; <>})} say "working on $ARGV" if $_ =~ /./' "[email protected]"
漂亮:
perl -0777 -lnE '
BEGIN{
$str = quotemeta(
do{
local(@ARGV, $/)="file1"; <> #localize ARGV to "file1.txt" for <>
}
)
}
say "working on $ARGV" if $_ =~ /./ #demo only action
' "[email protected]"
它的工作原理,但與此我需要編輯每次需要更改時的源代碼file1
。
如何將腳本更改爲以下內容?
- 啜食的
$ARGV[0]
(file1的)轉換成$str
(在BEGIN塊) - 而發出聲音的其它參數到
$_
在主迴路
賦值運算符在它的LHS操作數之前評估它的RHS操作數。它允許像'perl -E'my $ x =「abc」; {my $ x = uc($ x);說$ x; }說$ x;'' – ikegami 2014-09-02 20:35:10