2012-09-20 5 views
2

나는이 두 루비 파일 :Regex, ruby에서 파일을 찾는 방법?

db/migrate/20120920180336_create_admin_pages.rb 
db/migrate/20120920150716_devise_create_users.rb 

이 파일에 일정한 변수있다 : _create_admin_pages.rb

가 어떻게이 파일에 찾아 다음 명령 작업을 오른쪽으로 할 수 는?

gsub_file "db/migrate/*_create_admin_pages.rb", "t.boolean :published", "t.boolean :published, :default => false" 
+0

왜 이렇게 루비를 사용하려고? – Hauleth

+0

발전기에 사용합니다. 아마 더 나은 해결책을 말해 줄 수있을거야. – itsnikolay

+0

문제를 해결하기 위해 작성한 코드를 보여줘야합니다. –

답변

2
ruby -pe 'gsub("t.boolean :published", "t.boolean :published, :default => false")' < db/migrate/*_create_admin_pages.rb 

루비는 여러 가지 옵션을 실행할 수 있습니다.

  • 인쇄,
  • 코드로 -pe 후 문자열을 실행
  • 입력 한 줄을 읽어 : 더 이상 입력까지

    • : 여기 -pe 옵션 (실제로는 두 가지 옵션) 루비는이 루프를 실행하자 결과.

    모두 암시 적 변수 $_, 마지막 읽기 행을 사용합니다.

  • +0

    '-pe'가 무엇을하는지 설명하고 싶을 수도 있습니다. –

    +0

    @ The Tin Man : 좋습니다. – steenslag

    0

    이 작업을 시도 할 수 있습니다 :

    gsub_file Dir['db/migrate/*_create_admin_pages.rb'].first, "t.boolean :published", "t.boolean :published, :default => false" 
    
    관련 문제