2014-03-05 97 views
0

我正在從命令行運行以下Ruby命令。如何打印受命令行替換影響的文件?

ruby -i -pe "gsub /2013/, '2014'" * 

如何讓命令打印出文件的編號/名稱更改?

+0

請至少嘗試運行一次命令,然後再拒絕它。它運行良好。 – krystah

+0

我不會拒絕它,如果我沒有嘗試,它不起作用,它會更好地使用純粹的'bash'這樣的任務,或者寫成純ruby而不是嘗試使用ruby作爲unix實用程序 – bjhaid

+0

它作爲一個簡單的複製和粘貼我乾淨地運行,我想我們只是使用不同的Ruby版本,然後(這裏2.1)。我明白你的意思,但是OSX上的'sed'版本是一種錯誤,我猜想ruby單行程選項存在是有原因的,因此是一個問題。 – krystah

回答

0

您是否介意Perl解決方案以滿足您的單線要求?

perl -i -pe '$f{$ARGV}++ if s/2013/2014/g; END {print STDERR (join " ", (keys %f, scalar(keys %f))), "\n" }' * 
相關問題