• 文件操作
  • Ruby file && dir

    文件操作

    **cp需要用到FileUtils require FileUtils FileUtils.cp()

    File.open('file.rb', 'r') do |f|
      while line = f.gets # f.getc 获取一个字符
        puts line
      end
    end
    
    File.open('test.rb','r') do |f|
      lines = f.readlines
    end
    
    File.readlines('file_util.rb') # 读取所有行
    File.read('file_util.rb')  # 读取所有内容
    
    File.open('test','w') do |f|
      f << 'hello'  # 追加
      f << 'world'
      f.puts 'hello'
      f.puts 'world'
    end
    

    File && Dir

    File

    irb(main):053:0> full_name="/mnt/d/code/ruby/r1.rb"
    => "/mnt/d/code/ruby/r1.rb"
    irb(main):054:0> File.basename(full_name) # 文件名
    => "r1.rb"
    irb(main):055:0> File.basename(full_name,'.rb')  # 去年后缀的文件名
    => "r1"
    irb(main):056:0> File.dirname(full_name)  # 文件夹路径
    => "/mnt/d/code/ruby"
    irb(main):057:0> File.extname(full_name)  # 后缀名
    => ".rb"
    irb(main):058:0> File.join('/mnt/d','code')  # 拼接
    => "/mnt/d/code"
    irb(main):059:0> File.expand_path("~/ruyb")  # 
    => "/home/andy/ruyb"
    irb(main):064:0> File.exist?('.zshrc') # 是否存在
    => true
    irb(main):066:0> File.directory?('/home/andy')  # 是否是文件夹
    => true
    irb(main):067:0> File.file?('.bashrc')  # 是否文件
    => true
    irb(main):068:0> File.size('.bashrc')  # 文件大小
    => 3772
    File.rename('oldname','newname')  # 重命名
    File.delete('test.rb')  # 删除
    File.symlink('test','old_test')
    

    Dir ```ruby irb(main):060:0> Dir.pwd # 打印路径 => "/home/andy" irb(main):061:0> Dir.chdir('./') # 切换目录 => 0 irb(main):062:0> Dir.pwd => "/home/andy" irb(main):063:0> Dir.entries('./') # 遍历文件 => [".", "..", ".bash_history", ".bash_logout", ".bashrc", ".cache", ".config", ".gem", ".gitconfig", ".ipython", ".jupyter", ".local", ".oh-my-zsh", ".pip", ".profile", ".python_history", ".shell.pre-oh-my-zsh", ".ssh", ".sudo_as_admin_successful", ".vim", ".viminfo", ".wget-hsts", ".zcompdump", ".zcompdump-Andy963-5.4.2", ".zsh_history", ".zshrc", "config", "proxychains-ng"] irb(main):073:0> Dir['config'] # 过滤文件 => ["config"] Dir.glob('/mnt/d/code/ruby/.rb){|f| load f} Dir.mkdir('tmp') # 创建目录 Dir.rmdir('tmp') # 删除目录

    上一篇:Ruby set range

    下一篇:Tail 命令