LINUX.ORG.RU

На руби:

path = '/tmp'

extensions = Hash.new()

Dir.glob(File.join(path, "*")).each do |f|
	ext = File.extname(f)

	if not (ext.nil? or ext.empty?) then
		extensions[ext] = extensions[ext].to_i + 1
	end	
end

extensions.each do |ext, count|
	puts "Extension: #{ext} Files count: #{count}"
end
flareguner
()
Ответ на: комментарий от Lavos

спаааааааааааааааааааааааасиииииииииииииииииибоооооооооооооооооооооооооооооооооооооооооооооооооооооооооооо

qawsed
() автор топика
Ответ на: комментарий от flareguner

«or» использовать для проверки ИЛИ-ИЛИ - грешно, используй кошерный «||» и читай для чего нужен «or»

ну и «then» в руби это моветон

а «if not» заменятся на «unless»

и вообще:

path = '/tmp'
hext = Hash.new(0)

Dir[File.join(path, "*")].each do |fname|
	ext = File.extname(fname)
	hext[ext] += 1 if ext && !ext.empty?
end

hext.each do |ext, count|
	puts "Extension: #{ext} Files count: #{count}"
end
zed_0xff
()
Ответ на: комментарий от zed_0xff

Полил говном, но с аргументами. Спасибо. Кстати, не знал что в руби есть unless, как в перле.

flareguner
()

find . -name «*.*» -exec expr {} : '.*\.\(.*\)' \; | sort | uniq

io ★★
()

В смысле — суффиксы всех файлов в текущей директории?

Eddy_Em ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.