ファイルからユーザーID、たとえばncr \ yui30nを読み込み、そのユーザーIDがファイルのいずれかに存在するかどうかを確認します私は以下のコードでそれを行うことができます。Rubyの削除または置換された文字列を出力ファイルに取り込みます
svn_files = Dir.glob("E:\nano\*_access.txt")
value=File.open('E\new_dir\access_list.txt').read
value.each_line do |line|
line.chomp!
print "Z ID: #{line}\n"
svn_files.each do |file_name|
print "checking in file:#{file_name}\n"
text = File.read(file_name)
replace = text.gsub(/#{Regexp.escape(line)}\,\s/, '')
File.open(file_name, "w") { |file| file.puts replace }
end
end
、(NCRの\ yui30n)は、その文字列がにその特定のファイルに関連付けられているプールされたファイルまたはファイルとそこからから削除言う私は、文字列をキャプチャしている私のコードで拡張しようとしています出力ログファイル。
例: E:\ナノ\のids_access.txt
# Digital created on July 2016
# Digital Owner: John Cena (jxcgo)
# Digital access: create delete access
[pool]
@rem = ncr\abc_efg_dev, ncr\abc_efg_test, ncr\jx8go5, ncr\atxe5t
@digital_owner = ncr\yui30n, ncr\bhyrl4
私は以下のパターンに
を出力ログファイルを作成しようとしていますRemoved_users.log
Removed user : ncr\yui30n
Removed from : ids_access.txt (if present in multiple files record that too)
Pool : @digital_owner
私だけで来ることができますスニペットの下の部分は、第2ループの内側にあります。
File.open("E:\Removed_users.log", "a") { |log|
log.puts "Removed from: #{file_name}"
log.puts "Removed user : #{line}"
log.puts "*" * 50
}
問題は、すべてのアクセスファイルを検索して記録していますが、文字列が削除された場所からファイルを取得するだけで、プール名を取得する方法がわかりません。下記の例で@digital_ownerと言います。
お願いします。ありがとう。私は非常にルビーの新しさとまだ学習段階ですので、その簡単な質問の言い訳をしてください。
パーフェクトを、私は「もし」ループに考えを与えたが、オプションではない。別の提案をありがとうございます。 +1 – Goku