2014-02-07 58 views

回答

2

yamllint命令行工具做什麼你 想:

sudo pip install yamllint 

具體來說,它有一個規則key-duplicates檢測重複和鍵 過寫作彼此:

$ yamllint test.yml 
test.yml 
    1:1  warning missing document start "---" (document-start) 
    4:5  error duplication of key ":name" in mapping (key-duplicates) 

(它有許多其他的規則,你可以啓用/禁用或調整。)

2

這是你在追求什麼?

require 'yaml' 

def check_yaml(filename) 
    unless YAML.dump(YAML.load_file(filename)) == File.read(filename).gsub(/\s*#.*/, '') 
    raise 'problem' 
    end 
end 

check_yaml 'somefile.yml' 
+0

你必須刪除評論從yaml文件,因爲他們肯定會在這個過程中迷失方向。 –

+0

好吧我摘掉了評論。見編輯 – seph

+0

只要字符串中沒有任何散列字符('#'),它就可能工作。 –

0

有關導入1.yaml,然後出口到2.yamldiff 1.yaml 2.yaml什麼?
無法提供代碼 - 在這臺機器上沒有nix utils,但你有想法。