2014-03-05 2 views
0

다음 Ruby 명령을 명령 줄에서 실행하고 있습니다.명령 줄 대체의 영향을받는 파일을 인쇄하려면 어떻게합니까?

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

변경된 파일의 번호/이름을 인쇄하려면 어떻게해야합니까?

+0

적어도 명령을 실행하기 전에 한 번 이상 실행하십시오. 잘 돌아갑니다. – krystah

+0

시도하지 않으면 부인할 수 없습니다. 작동하지 않습니다. 이런 식의 작업에 순수한 'bash'를 사용하는 것이 더 좋을 것입니다. 또는 루비를 유닉스 유틸리티로 사용하려고 시도하는 대신 순수한 루비로 작성하는 것이 더 좋습니다 – bjhaid

+0

그것은 나를 위해 간단한 복사 & 붙여 넣기로 깨끗하게 실행됩니다, 우리는 다른 Ruby 버전을 사용하고있는 것 같습니다 (여기서는 2.1). 나는 당신의 요지를 보았지만, OSX의'sed' 버전은 다소 버그가 있습니다. 그래서 루비 한 줄짜리 옵션이 존재한다고 생각합니다. 따라서 질문입니다. – krystah

답변

0

한 번의 요청으로 Perl 솔루션을 사용해도 되겠습니까?

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