DEV Community

dss99911
dss99911

Posted on • Originally published at dss99911.github.io

Ruby 파일 처리와 시스템 명령

Ruby에서 파일 처리와 시스템 명령 실행 방법을 알아봅니다.

파일 읽기

File.open('p014constructs.rb', 'r') do |f1|
  while line = f1.gets
    puts line
  end
end
Enter fullscreen mode Exit fullscreen mode

파일 쓰기

File.open('test.rb', 'w') do |f2|
  f2.puts "Created by Satish\nThank God!"
end
Enter fullscreen mode Exit fullscreen mode

파일 인코딩

File.open('p014constructs.rb', 'r:UTF-16LE:UTF-8') do |f1|
  # ...
end
Enter fullscreen mode Exit fullscreen mode

디렉토리 순회

require 'find'

Find.find('./') do |f|
  type = case
         when File.file?(f) then "F"
         when File.directory?(f) then "D"
         else "?"
         end
  puts "#{type}: #{f}"
end
Enter fullscreen mode Exit fullscreen mode

랜덤 액세스

f = File.new("hellousa.rb")

# SEEK_CUR - 현재 위치에서 상대 이동
# SEEK_END - 파일 끝에서 상대 이동 (음수 값 사용)
# SEEK_SET - 절대 위치로 이동
f.seek(12, IO::SEEK_SET)
print f.readline
f.close
Enter fullscreen mode Exit fullscreen mode

루비 파일 로딩

load

파일을 실행할 때마다 포함합니다.

load 'filename.rb'
Enter fullscreen mode Exit fullscreen mode

require

파일을 한 번만 로드합니다. (확장자 .rb 생략 가능)

require 'filename'
Enter fullscreen mode Exit fullscreen mode

require_relative

상대 경로로 파일을 로드합니다.

require_relative 'p030motorcycle'
Enter fullscreen mode Exit fullscreen mode

시스템 명령 실행

백틱 사용

puts `ls`
Enter fullscreen mode Exit fullscreen mode

system 메서드

처리 성공 여부를 true/false로 반환합니다.

system("pwd")
Enter fullscreen mode Exit fullscreen mode

환경 변수

ENV.each { |k, v| puts "#{k}: #{v}" }
Enter fullscreen mode Exit fullscreen mode

Originally published at https://dss99911.github.io

Top comments (0)