Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Программирование в *nix » Информация о содержимом файла: подсчет слов и т.д.

Ответить
Настройки темы
Информация о содержимом файла: подсчет слов и т.д.

Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Привет. Нужно написать программку, аналог команды wc, которая получала бы в качестве аргумента имя иекстового файла и выводила на экран информацию о том, сколько символов, слов и строк в текстовом файле. Я догадываюсь, что это нужно сделать с помощью функций AWK, но как.
Помогите, а?

Отправлено: 12:39, 28-05-2008

 

Ветеран


Сообщения: 4524
Благодарности: 347

Профиль | Сайт | Отправить PM | Цитировать


неинформативное название темы

-------
Моя статья на OSzone.net


Отправлено: 16:25, 29-05-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 5
Благодарности: 1

Профиль | Отправить PM | Цитировать


Не обязательно awk, думаю легче использовать python или perl, благо ониустановлены по-умолчанию едвали не во всех дистрибутивах.
Например так:
Код: Выделить весь код
#-*-coding:UTF-8-*-
#кодировка - юникод
import sys
def main():
	if(len(sys.argv)!=2):
		print "Введите в качество аргумента имя файла"
		sys.exit(2)#аналог сишного return 2;
#не реагируем если пользователь указал 1 аргумент, в этом случае в переменной sys.argv должно #быть 2 элемента: имя скрипта и имя файла
	filename=sys.argv[1]
	try:
		f=open(filename)
		txt=f.read()
		f.close()
        except:
		print "Файл "+filename+" не найден"
		sys.exit(2)
#проверяем существование файла
	strings=txt.split("\n")[:-1]
#делим содержимое файла на строки
	i=0
	words=[]
	while i<len(strings):
		words=words+strings[i].split(" ")
		i=i+1
#делим строки на слова
	print "В файле "+filename
	print str(len(strings))+" строк"
	print str(len(words))+" слов"
	print str(len(txt))+" символов"
#вывод в консоль
	sys.exit(0)#return 0
if __name__ == "__main__":
	main()

Рекомендую почитать книжку по Питону,

Отправлено: 22:36, 08-07-2008 | #3



Компьютерный форум OSzone.net » Linux и FreeBSD » Программирование в *nix » Информация о содержимом файла: подсчет слов и т.д.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Словарь непонятных слов по ИТ Blast Хочу все знать 200 30-10-2016 21:46
CMD/BAT - [решено] подсчет времени выполнения командного файла mitiya Скриптовые языки администрирования Windows 5 15-04-2014 10:42
[игра] Цепочка слов Vadikan Флейм 976 21-07-2010 04:38
Ассоциации, игра слов. Часть 1 XCodeR Флейм 9095 10-10-2009 20:52
Прочие - Читатель английских слов kirill_ghost Программное обеспечение Windows 2 06-07-2008 18:00




 
Переход