1
我試圖使用以下一行來打印我的apache2訪問日誌日期。在單引號內顯示值,但在雙引號內顯示爲Array對象。我的命令如下Perl在引號內自動引導
sudo perl -ane 'print $F[3] . "\n" ' /var/log/apache2/access.log | head -n 10
輸出
[21/Jul/2014:09:16:05
[21/Jul/2014:09:16:05
[21/Jul/2014:11:32:55
[21/Jul/2014:11:32:55
[21/Jul/2014:11:32:59
[21/Jul/2014:11:33:02
[21/Jul/2014:11:33:02
[21/Jul/2014:11:33:10
[21/Jul/2014:11:33:14
[21/Jul/2014:11:33:14
sudo perl -ane "print $F[3] . \"\n\" " /var/log/apache2/access.log | head -n 10
輸出
ARRAY(0x195fca8)
ARRAY(0x1960128)
ARRAY(0x195fca8)
ARRAY(0x195fd38)
ARRAY(0x1960128)
ARRAY(0x195fca8)
ARRAY(0x195fd38)
ARRAY(0x1960128)
ARRAY(0x195fca8)
ARRAY(0x195fd38)
當我嘗試陣列解引用它示出了一個。
sudo perl -ane "print @{$F[3]} . \"\n\" " /var/log/apache2/access.log | head -n 10
輸出
1
1
1
1
1
1
1
1
1
1
我使用的ubuntu 12.04 64位與guake終端。
爲什麼是\」?需要ü可以解釋我更PLZ @Tiago – xtreak
'\ 「'需要因爲Perl需要'」'但bash將不會傳遞到perl這'a ='foo bar'; perl -le「print q($ a)」' – Tiago
謝謝@Tiago – xtreak