我想將大文件的前10行打印到新文件中。有了這個oneliner我可以打印線顯示器:Perl oneliner:將第一行打印到文件中
> perl -ne "print if $. < 10" in.csv
我嘗試這樣做:
> perl -ne "print if $. < 10" in.csv >out.txt
但這只是沒了第一行寫進去創建文件out.txt。這段代碼有什麼問題?
感謝您的幫助
的Windows 7 /草莓的Perl
UPDATE1:
如果我用送監視器上的打印結果:
> perl -ne "print if $. <= 10" in.csv
程序不會停止,也就是說,前十行輸出到顯示器上,但不會以:
>
我必須使用Ctrl + c來停止程序。
使用像ikegami這樣簡單的csv-File(只是一些行),onliner的作品。我假設在csv文件中有一些東西。
更新2:
原onliner:
> perl -ne "print if $. <= 10" in.csv >out.txt
作品。我必須等待幾秒鐘。 csv文件大小爲2 GB。在線人:
> perl -pe "exit if $. > 10" in.csv >out.txt
立即給出結果。結論:第一個在線人穿過所有行,第二個出口在10行之後。
對不起,我打擾你這個問題。我吸取了教訓:使用合適的在線人員或等待幾秒鐘。
這是一個MSWin cmd.exe問題,而不是Perl問題。 – choroba
它適用於win2k8r2。輸出文件在初始創建後是否設置爲只讀? – stevieb
@stevieb。不可以。可以寫。我嘗試了ikegami的例子,它的工作原理。顯然,它與原始的csv文件有關。 – giordano